我有一个id =" iframe" 在index.php的页脚里面,我想在iframe加载后包含一个javascript文件。
到目前为止,我有:
<script>
$('#iframe').onload = function () {
</script>
<script src="/js/myjsfile.js"></script>
<script>
}
</script>
然而,该网页生气并说: SyntaxError:意外的输入结束(对于{) 和SyntaxError:意外的标记} 如何在加载另一个文件后包含这些文件?
答案 0 :(得分:1)
你应该试试这个:
var s = document.createElement("script");
s.type = "text/javascript";
s.src = "http://somedomain.com/somescript";
$("head").append(s);
有关详细信息,请参阅this post。
希望这会有所帮助!
答案 1 :(得分:0)
您可以使用jQuery.getScript()并检测iframe的加载事件。
$('#iframe').on('load', function(e) {
$.getScript('https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js', function() {
// library is loaded. Now I can start to use.;
console.log('Now the library is loaded!');
});
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<iframe id="iframe" src="https://dummyimage.com/200x200/000/fff" style="width: 200px;height: 200px"></iframe>
另一种方法可以基于动态添加脚本元素,如:
$('#iframe').on('load', function(e) {
$('head').append($('<script/>', {src: 'https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js'}));
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<iframe id="iframe" src="https://dummyimage.com/600x400/000/fff" style="width: 200px;height: 200px"></iframe>
答案 2 :(得分:-1)
您可以像这样在iframe上加注脚本标记。
<script>
$('#iframe').on('load', function() {
var script = document.createElement('script');
script.src = '/js/myjsfile.js';
document.body.appendChild(script);
});
</script>