[英]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.