広告スクリプトタグを動的に追加する必要がある状況にあります。
広告自体は、広告サーバーを指すsrc属性を持つ単純なスクリプトタグです。次に実行される実際のコードは、2段階の試練です。
まず、次のようなdocument.write()があります。
document.write("<iframe id='lctopti2017041855' src='about:blank' style='visibility: hidden;' onload=\"this.style.visibility='visible';\" style='border: 0px; overflow-x: hidden;overflow-y: hidden; width: 100px; height: 400px;' width='100' height='400' scrolling='no' frameborder='0' allowtransparency='true'></iframe>");
次に、次のようになります。
document.getElementById('lctopti2017041855').src = 'http://www.reallylongurl.com/blah.php?whatever=whatever'
これで、ページの読み込み中にdocument.write()を実行しても問題ないようです。しかし、同じ初期タグを取得して$('#somediv')。prepend()内にポップすると、ページ全体が上書きされることを発見しました。
これに対処する方法はありますか?iframe IDとそれに続く広告URLは常に動的であり、最初のスクリプトタグが広告サーバーからJavaScriptを要求したときに生成されます。最初のスクリプトタグに必要なすべての情報が含まれている場合は、$('#anywhere')。prepend()などを使用してdocument.writeを切り替えることができます。最初のスクリプトロードの結果を文字通りスクレイピングしてから結果を処理する以外に、これをどのように解決できますか?
document.write()がページを上書きするのを止め、代わりに呼び出された場所にのみ書き込む方法はありますか?