我的简单例子:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Iframe Scrolling Test</title>
<script type="text/javascript" language="javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript">
function scroll() {
var iframeDocx = $("#tpTopicContentIframe");
iframeDocx.contents().find("html,body").animate({ scrollTop: 1000 }, 1000);
};
</script>
</head>
<body>
<a href="#" onclick="scroll();">Scroll to 1000px</a>
<div id="tpTopicContentIframeContainer">
<iframe frameborder="0" id="tpTopicContentIframe" src="docpart.html" style="height: 400px; width: 600px;"></iframe>
</div>
</body>
</html>
在Chrome中,我收到此错误:
JavaScript尝试使用URL文件访问框架:/// C:/Users/DENIS/Projects/Tests/Iframe%20Scrollto/docpart.html来自带有URL文件的框架:/// C:/ Users / DENIS / Projects /Tests/Iframe%20Scrollto/index.html#。域,协议和端口必须匹配。
但它是同一个域名。它适用于FF,IE,Safari但不适用于Chrome。
为什么Chrome如此严格?如何在所有浏览器中使用它?
答案 0 :(得分:0)
浏览器还没有正确处理file://
协议。只要页面来自同一个域,如果您通过http
访问该页面,您的代码就可以正常运行。