2016-07-19 10 views
1

自分のコードにビデオを表示してから、setTimeoutを使用して指定した時間が経過すると、別のコードにデフォルト設定します。以下は私のコードです。ビデオファイルが表示されますが、指定された1秒後には、デフォルトの/ 2番目のコードを表示せずに消えます。それだけで空白になる。なぜHTMLコードのsettimeout機能が動作しないのですか?

<div id="video159795815158585" style="width: 300px; height: 250px;"> 
<script src="http://p.algovid.com/player/tlvplayer.js?p=1597958151&sid=[REPLACE TO SPECIFIC DOMAIN]&cb=58585&w=300&h=250&d=[REPLACE TO SPECIFIC DOMAIN]" type="text/javascript"> 
</script> 
<script type="text/javascript"> 
setTimeout(function(){ document.getElementById('video159795815158585').innerHTML = "<script type="text\/javascript" src="\/\/display.blutonic-ads.com\/2.0\/9608\/adtag.js" data-tc-slot="26539" data-tc-size="300x250" data-tc-publisher="41b30f06-306c-5b38-9b50-7a5bdd3d9f9a"><\/script> <noscript> <img src="http:\/\/p.algovid.com\/ppx\/error?en=1&em=nojs&p=1597958151&sid=[REPLACE INTO DOMAIN]&cb=58585&domain=[REPLACE TO SPECIFIC DOMAIN]" width="1" height="1"><\/noscript>"; }, 1000); 
</script> 
<noscript> 
    <img src="http://p.algovid.com/ppx/error?en=1&em=nojs&p=1597958151&sid=[REPLACE INTO DOMAIN]&cb=58585&domain=[REPLACE TO SPECIFIC DOMAIN]" width="1" height="1"> 
</noscript> 

これは明らかに、JavaScriptコード内の引用の構文エラーを

<script type="text/javascript" src="//display.blutonic-ads.com/2.0/9608/adtag.js" data-tc-slot="26539" data-tc-size="300x250" data-tc-publisher="41b30f06-306c-5b38-9b50-7a5bdd3d9f9a"></script> 
+4

あなた自身の質問で構文の強調表示を見てください。問題が表示されます。 – SLaks

+0

innerタグ付きのスクリプトタグを追加することはできません。 – epascarello

+0

''はスクリプトを終了します。 1つのトリックは ''''のようなものです。しかし、これは既にSOに関するいくつかの質問でカバーされています。とにかくブラウザが挿入されたスクリプトを実行しないという事実に加えて、別のコメント者が指摘するように、 'createElement( 'script')'のようなDOMルーチンをスクリプトに挿入する必要があります。 –

答えて

0

を示すべきである第二の符号です。 文字列が参照され、文字列がJavaScriptステートメントの場合、一重引用符または二重引用符またはエスケープ文字 '\'で囲まれた引用符が必要です。

以下の3つの式は、同等で正しいものです。

"<script type='...'>" 

'<script type="...">' 

"<script type=\"..\">" 

大文字と小文字の区別に注意してください。 JavaScriptでは一重引用符と二重引用符の効果が同じです。文字列を作成するときは、最初と最後に同じ種類の引用符を使用する限り、一重引用符と二重引用符を混在させることができます。


上記の説明は、構文エラーのみを解決しましたが、機能の問題を解決しませんでした。 あなたが直面した機能の問題は、JavaScriptスクリプトファイルを動的に読み込む方法です。次のコードは、あなたを助けたいと考えています。

<script type="text/javascript"> 
    var ohead= document.getElementsByTagName('head')[0]; 
    var oScript= document.createElement("script"); 
    oScript.type = "text/javascript"; 
    oScript.src= "//display.blutonic-ads.com/2.0/9607/adtag.js"; 
    ... 
    setTimeout("oHead.appendChild(oScript)",1000); 
</script> 
+0

私はその例を使って調整しようとしましたが、それでも動作しません:(https://jsfiddle.net/b0zqf19k/ –

関連する問題