我正在尝试从父窗口向按钮click
事件的框架发送一个值,但它在控制台上显示错误
Uncaught SecurityError:阻止具有原点的帧 " http://localhost:53838"从访问带有原点" null"的框架。 请求访问的帧具有" http"的协议,帧为 access具有" file"的协议。协议必须匹配。
在以下一行:
window.parent.setUpFrame();
我在父容器中有以下代码:
<!DOCTYPE html>
<html>
<head>
<script>
function setUpFrame() {
var frame = window.frames['myFrame'];
$('#btn-violet').click(function () {
frame.changeTheme(2);
});
}
</script>
</head>
<body>
<iframe id="myFrame" width="100%" height="300px" src="http://localhost:53838/" name="iframe_a"></iframe> <input type="button" value="bisque Theme" id="btn-bisque" />
<input type="button" value="violet theme" id="btn-violet" />
</body>
</html>
框架中的代码如下所示:
<script>
function init()
{
window.parent.setUpFrame();
return true;
}
function changeTheme(id)
{
if (id == 1) {
$('#CustomStyle').attr('href', '/Content/StyleSheet1.css');
}
else
{
$('#CustomStyle').attr('href', '/Content/StyleSheet2.css');
}
}
</script>
答案 0 :(得分:1)
如果您的父页面是通过文件提供的,那就是问题所在。您不能将文件页面与http嵌套框架混合。您也应该从文件中加载iframe。
答案 1 :(得分:1)
您似乎通过文件协议访问了#34; main&#34; -html(只需双击html?)。
请尝试通过http://localhost:53838/访问,或通过文件协议加载iframe。