2016-06-22 3 views
0

DOMが完全にロードされる前に(!)DOMからHTML/JS-Contentを読み込むことができるソリューション(jQueryまたはplain JS)を探しています。ドキュメントの準備が完了する前にjQuery/JSの内容を読み込み

<script> 
$(document).ready(function() { 
var mywidth = $(window).width(); 
if(mywidth > 1000) { 
$("#mydiv").load("some_html_with_external_javascript.html"); 
} 
}); 

これはうまく機能します。しかし、ロードされたコンテンツに外部JSが含まれている場合、JSコンテンツは実行されません。あなたはそれを行うためにdocument.writeを使用することができます

<div id="mydiv"> 
<script> 
var mywidth = $(window).width(); 
if(mywidth > 1000) { 
// <?php require_once "some_html_with_external_javascript.html"; ?> 
} 
</script> 
</div> 
+0

jQuery/JSまたはJS/PHPでsoloutionをお探しですか? – Epodax

+0

@Epodax jQueryまたはplain JSのソリューションを探しています EDIT:ドキュメントの読み込み中に現在のウィンドウ幅とウィンドウの高さに関する情報をPHPに与える機能がある場合、PHPのソリューションは面白いです。 – Christoph

+0

[$ .getScript](https://api.jquery.com/jQuery.getScript/)と 'document.write'を参照してください – Dimava

答えて

0

:私は、JSやPHPのミックスのようなもの、のようなものを必要としています。現在の位置に新しいスクリプトタグを挿入するだけで、次の(スクリプト)タグの前に実行されます(PHPコードに非常に似ています)。あなたの質問によると、要求されたスクリプトは同期して読み込まれます。

のindex.html:

<script> 
console.log("first") 
document.write('<script src="second.js"><\/script>') 
</script> 
<script> 
console.log("third") 
</script> 

second.js:

console.log("second") 

ブラウザのコンソールは、 "第3" のログイン前の最初のsecond.jsをロードします。期待通りの出力が、そのためである:

  • "最初"
  • "第二"
  • "第3"

可能であれば、私は、同期ロードが避けるべきであることを追加します。これは、パフォーマンスの大きなボトルネックです。

関連する問題