我有一个iframe设置如下:
<iframe>
<html>
<head>
<style></style>
<script></script>
</head>
<body>
</body>
</html>
</iframe>
来自文本框的数据正被插入到页面加载中的iframe的脚本和正文标记中。
该程序将允许用户输入的Javascript和HTML在iframe中进行解析。
查看代码视图,我输入的示例函数出现在:
<iframe>
<html>
<head>
<style>
</style>
<script>
function say(message) {
alert(message);
}
</script>
</head>
<body>
<h1 onclick="say('hello');">Click me</h1>
</body>
</html>
</iframe>
但是,当我点击标签时,此消息会显示在控制台中:
Uncaught ReferenceError: say is not defined
有人可以告诉我为什么会这样,以及我如何解决这个问题?
亲切的问候, 丹尼尔沃森
编辑:更正了我的标记中的错误,这不是问题,而是在尝试重新输入问题的问题时出错。
此外,使用以下代码将JavaScript函数插入到Iframe中:
$("iframe").contents().find('head script').html(data['js']);
答案 0 :(得分:0)
而不是
<style>
function say(message) {
alert(message);
}
</style>
<script></script>
你应该
<style></style>
<script>
function say(message) {
alert(message);
}
</script>
此外,您有两个关闭html
标记,但没有开放标记。
答案 1 :(得分:0)
这么多错误......
您无法将内容放入iframe中。你想要的是srcdoc。
<iframe srcdoc="etc"></iframe>
</html>
应该是
<html>
<style>
function say(message) {
alert(message);
}
</style>
错了。成功:
<script>
function say(message) {
alert(message);
}
</script>