1

奇妙なバグがあります。私はワードプレス用のプラグインを書いています。プレゼンテーションを埋め込む投稿に iframe を含めています。この iframe にスクリプトとスライドを入力すると、コンピューター (chrome firefox safari) ではすべて正常に動作しますが、デバイス (iPad Android または iPad) に埋め込まれたプレゼンテーションを含む投稿を読み込むと、単に動作しません。Safari デバッグ コンソールに 2 つのエラーがあります。

JavaScript: Error undefined ReferenceError: Can't find variable: jQuery

これが私のiframeを満たす私のスクリプトです:

                //Include jQuery first !
                var iframe_embed_script_place = document.getElementById('embedded-frame-presentation');

                var script_iframe_embed = iframe_embed_script_place.contentWindow.document.createElement('script');
                script_iframe_embed.type = "text/javascript";
                script_iframe_embed.src = "http://reveal.presentation.dev/wp-includes/js/jquery/jquery.js";
                script_iframe_embed.async = false;
                iframe_embed_script_place.contentWindow.document.head.appendChild(script_iframe_embed);

                //Include CSS
                jQuery('#embedded-frame-presentation').contents().find('head').append("<link rel=\"stylesheet\" href=\"http://reveal.presentation.dev/wp-content/plugins/presentation/lib/reveal/reveal.min.css\" type=\"text/css\">");

私はこの問題で立ち往生しており、これがモバイルデバイスで機能しない理由がわかりません!

ご協力ありがとうございました

4

2 に答える 2

0

URL が正しくありません。移動してみてください。.dev は TLD ではありません。おそらく .com/dev/ のようなものになるはずです

于 2013-07-29T06:45:34.460 に答える
0

ご覧のとおり、.dev ドメインが原因で、URL から jquery を取得できない場合があります。可能であれば、フィドラーで 404 エラーを確認できますか。別の方法として、CDN を使用して Jquery ライブラリを提供することをお勧めします。ローカル パスへのフォールバックを使用します。

<script type="text/javascript" src="//ajax.microsoft.com/ajax/jquery/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
if (typeof jQuery == 'undefined') {
    document.write(unescape("%3Cscript src='/js/jquery-1.4.2.min.js' type='text/javascript'%3E%3C/script%3E")); // change the Local path of the Jquery library
}
</script>
于 2013-07-29T06:49:54.397 に答える