1
我簡單的例子:如何通過jQuery滾動/動畫iframe。在FF,IE和Safari但不是Chrome瀏覽器
<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 attempt to access frame with URL file:///C:/Users/DENIS/Projects/Tests/Iframe%20Scrollto/docpart.html from frame with URL file:///C:/Users/DENIS/Projects/Tests/Iframe%20Scrollto/index.html#. Domains, protocols and ports must match.
但它是同一個域。它適用於FF,IE,Safari,但不適用於Chrome。
爲什麼Chrome如此嚴格?我如何在所有瀏覽器中完成這項工作?
我在服務器上以http://的方式失敗。所以這不是一個解決方案。 :-( – podeig
嘗試通過http訪問時出錯? –