该页面来自eBay列表。 这是主要的结构:
<html>
<body>
<iframe src="http://vi.vipr.ebaydesc.com/" />
</body>
主要的html位置是ebay.co.uk,而iframe来自其他域名。
在iframe内部我有一个按钮#totop
,按下我希望主html滚动到页面顶部,而不是iframe内容。
这可能吗?
答案 0 :(得分:0)
如果您无法控制父网站(在本例中为ebay.co.uk),则无法实现。如果您不希望将脚本定位到父站点,则协议,域和端口必须匹配。
如果这些框架使用相同的域,这将起作用:
<button id="totop" onclick="window.parent.parent.scrollTo(0,0)">
Scroll parent to top
</button>
如果您可以控制父网站的(ebay.co.uk)网络服务器,您可以创建一个反向代理来欺骗系统。例如,在Apache httpd中你可以像这样创建一个反向代理:
ProxyPass /iframe http://vi.vipr.ebaydesc.com
ProxyPassReverse /iframe http://vi.vipr.ebaydesc.com
将iframe的src设置为http://ebay.co.uk/iframe
<iframe src="http://ebay.co.uk/iframe"></iframe>
这将允许您从iframe将脚本定位到ebay.co.uk。
无论如何,在这种情况下,这是不可能的。
答案 1 :(得分:0)
试试这个
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
</head>
<body>
<h1>very long content very long contentvery long contentvery long contentvery long contentvery long contentvery long content
very long contentvery long contentvery long contentvery long contentvery long contentvery long contentvery
very long contentvery long contentvery long contentvery long content
very long contentvery long contentvery long contentvery long contentvery long contentvery long content
very long contentvery long contentvery long contentvery long contentvery long contentvery long contentvery long content
very long contentvery long contentvery long contentvery long contentvery long contentvery long contentvery long contentvery long content
very long contentvery long contentvery long contentvery long contentvery long contentvery long contentvery long content
very long contentvery long contentvery long contentvery long contentvery long content
very long contentvery long contentvery long contentvery long contentvery long contentvery long contentvery long content
</h1>
<iframe src="frame.html"></iframe>
</body>
</html>