这类似于this question,虽然有点宽泛。
我只是在本地打开这些页面,它们位于同一个文件夹中。
的index.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>TestIndex</title>
<script type="text/javascript">
function init()
{
alert("child.childvar: " + child.childvar); //works in FF, IE, not Chrome
alert("frames['child'].childvar: " + frames['child'].childvar); //works in FF, IE, not Chrome
alert("document.getElementById('child').contentWindow['childvar']: " + document.getElementById('child').contentWindow['childvar']); //works in FF, IE, not Chrome
child.childfunc(); //works in FF, IE, not Chrome
frames['child'].childfunc(); //works in FF, IE, not Chrome
document.getElementById('child').contentWindow['childfunc()']; //doesn't work in anything
}
var parentvar = 7;
function parentfunc()
{
alert("In parentfunc");
}
window.onload = init;
</script>
</head>
<body>
<iframe id="child" name="child" src="child.html">Your browser does not support iframes</iframe>
</body>
</html>
child.html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>TestChild</title>
<script type="text/javascript">
function init()
{
alert("parent.parentvar: " + parent.parentvar); //works in FF, IE, not Chrome
parent.parentfunc(); //works in FF, IE, not Chrome
}
var childvar = 5;
function childfunc()
{
alert("In childfunc");
}
window.onload = init;
</script>
</head>
<body>
</body>
</html>
我似乎无法在页面和Chrome中的iframe内容之间实现任何通信。我确实阅读了我链接的问题的答案,但我真的不知道用户脚本/内容脚本是什么,所以我不知道这些问题与我的相关程度有多大。
我想我的实际问题是:我如何从iframe页面获取值到父页面中??
答案 0 :(得分:1)
显然,在本地文件系统上,javascript帧间通信不起作用。将文件放在服务器上,它可能会按预期运行。