[英]including external javascript file
我正在嘗試將外部JavaScript包含到文檔中。 假設外部js具有以下代碼。
function myFunction() {
console.log("hello");
}
我通過控制台將其包括在內
var script = document.createElement('script');
script.src = "http://myjs";
document.getElementsByTagName('head')[0].appendChild(script);
但是我仍然得到myFunction()是未定義的錯誤。 該函數是從頁面上包含的php
文件中以某種方式調用的。 有趣的是,在文檔中的head標記之后附加我的外部javascript不足以使其在從已加載的php文件進行函數調用之前。
問:根據情況,如何確保在php文件之前包含我的JavaScript?
編輯:這是所有源的層次結構
mysubsite.com
myfolder
mypage.html
mysite.com
myfolder
main.php
problem.php
problem.php正在調用函數myFunction()
但尚未在任何地方包含它。 因此,我嘗試在外部js文件中定義該函數並將其包含在mypage.html中,但問題.php仍然位於mypage.html中包含的javascript之前
編輯:
我認為真正的問題是我正在處理包含在主文檔中的iframe。 在這種情況下,是否可以通過控制台將我的外部javascript文件包含在主文檔中? 從控制台包含腳本只會影響iframe,而不會影響主文檔。
您正在執行的操作很好,但是隨后必須等待文件加載。 盡管某些舊版本的IE使用onreadystatechanged
代替,但大多數瀏覽器都會在腳本元素上引發load
事件。 但是由於您使用的是jQuery(來自問題標簽),因此您不必擔心,只需使用$.getScript
:
$.getScript("http://myjs", function() {
// The script has been loaded, you can call myFunction now
});
PHP始終包含在JavaScript之前。 PHP由服務器執行,然后再發送給客戶端,而JavaScript由客戶端執行。
為什么不把普通的<script type="text/javascript" src="http:/myjs"></script>
放在head
?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.