【发布时间】:2015-06-15 17:21:37
【问题描述】:
我正在尝试将 JavaScript 文件添加到 iframe 的标题中,以便在加载时,iframe 可以在我的“后台任务”之前。目前 iframe 是空的,因为没有我希望它显示的源。也就是说,iframe 所做的只是执行我希望提供给它的脚本。
我已经尝试过这里的建议:
- Can't append <script> element
- Insert a Script into a iFrame's Header, without clearing out the body of the iFrame
- Invoking JavaScript code in an iframe from the parent page
- Calling javascript function in iframe
- http://www.getallfix.com/2013/08/how-to-include-or-add-external-javascript-file-to-iframe-how-to-add-js-to-iframe/
但我无法对 iframe 进行简单的“写入”工作。 这是我正在使用的代码:
demo.html
<html>
<head>
<script src="demo.js"></script>
<script>
addScript('demo.js');
function addScript(src){
// Find the iFrame
var iframe = document.getElementById('test');
var val = '<scr' + 'ipt type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></scr' + 'ipt>';
var headID = iframe.getElementsByTagName("head")[0];
var newScript = iframe.createElement('script');
newScript.type = 'text/javascript';
newScript.src = 'demo.js';
headID.appendChild(newScript);
</script>
</head>
<body>
<div class="output">
<iframe id="test"></iframe>
</div>
</body>
</html>
demo.js
document.write("Hello, I'm a Demo.");
【问题讨论】:
-
在
iframe被解析后,你必须调用addScript。 -
@Teemu 哪个
iframe?实际元素还是变量? -
元素必须存在才能使用
getElementById获得对它的引用。
标签: javascript html iframe