在quirks部分下的ResponsiveVoice.JS website上指出:



但是,对于我一生来说,我无法绕开这种直接的用户交互要求。 您如何解决这个问题?

这是我目前在<head>元素中没有用户交互而试图执行的代码片段:

<script src="http://code.responsivevoice.org/responsivevoice.js"></script>
<script type="text/javascript">
    function speak_static_data(){
        responsiveVoice.speak('Test');
    }
    setTimeout(function(){ speak_static_data(); }, 3000);
</script>

我想在没有直接用户交互的情况下在iOS中的页面加载时调用responsiveVoice.speak('Test');。我该怎么做?

相同的代码片段在Android/Safari,台式机/Chrome和台式机上都可以正常运行,但在iOS上却不行。

最佳答案

因此,我一直在寻找并隐藏在他们具有iOS指南的常见问题解答中。他们没有完全规避它,而是在初审后的任何时候都绕过它。

您实际上不需要说任何话,因此只需用户单击一个按钮即可调用响应语音就足够了。

<button onclick="responsiveVoice.speak('');">Enable Voice</button>
响应语音常见问题解答:https://responsivevoice.org/faq/

09-11 00:18