(使用jquery或js) 是否可以将脚本添加到iframe,然后添加一个元素来触发它?这会添加脚本,但它在Chrome中给出了一个错误,指出函数未定义。
//create element
var cloned = $("<input type='button'/>")
cloned.attr('onclick', "alertUser()");
var parent = $("#parent");
var iframe = $('<iframe />').attr("id", "rbm_pu");
parent.append(iframe);
var frame = $("#rbm_pu").contents();
frame.find("body").append(cloned);
frame.find('body').append("<script type='text/JavaScript'>function alertUser(){alert('hello');}</script>");
它出现在那里但是说alertUser()
未定义。有任何想法吗?感谢
答案 0 :(得分:1)
这个小提琴应该引导你找到正确的方法: http://jsfiddle.net/vsXYA/2/
<div id='parent'></div>
// first, create button and assign the callback
var button = $("<input type='button' value='click me' />");
button.click(function() {
alert("hello");
});
// then, append the button to the freshly created iframe
$('<iframe id="someId"/>')
.appendTo('#parent')
.contents().find('body')
.append(button);
如果你坚持将函数定义为一个字符串(并且强烈不鼓励你这样做),这可行:http://jsfiddle.net/vsXYA/5/
(从https://stackoverflow.com/a/4120007/729403和https://stackoverflow.com/a/3603496/729403获取一些信息)