2016-06-22 80 views
0

我正在尋找一種解決方案(jQuery或純JS),它允許在(!)DOM完全加載之前將HTML/JS-Content加載到給定的DIV中。文檔準備之前jQuery/JS加載內容

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

這工作正常 - 當然。但是如果加載的內容包含外部JS,則JS內容不會被執行。我需要像JS和PHP的混合,是這樣的:

<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或普通的JS編輯:在PHP中的解決方案只是有趣的,當有文件加載時給PHP有關當前窗口寬度和窗口高度的信息。 – Christoph

+0

期待[$ .getScript](https://api.jquery.com/jQuery.getScript/)和'document.write' – Dimava

回答

0

您可以使用document.write爲了做到這一點。只需在當前位置插入一個新的腳本標籤,該標籤在下一個(腳本)標籤(與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") 

瀏覽器控制檯將加載second.js第一記錄 「第三」 之前。因此,輸出,符合市場預期:

  • 「第一」
  • 「第二」
  • 「第三」

我想補充一點,同步加載應儘量避免,如果可能的話。這是一個巨大的性能瓶頸。