Javascript - 重定向到另一个网站并在该页面加载后调用Javascript函数

时间:2012-12-08 09:41:32

标签: javascript html css redirect browser

情景:您的网页上有指向其他网站(例如yahoo.com)的链接,用户点击该链接。

你是否可以调用Javascript函数并在页面上加载HTML / CSS,即使它位于一个完全不同的域上?比如,在雅虎上呈现某种侧边栏?

如果不是(我认为是这种情况),还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

简短的回答是,你不能。

你当然可以做一些变通办法,比如Blender在他的评论中建议,在网站上嵌入一个iframe,但是由于same-origin policy,如果来自iframe,你将无法访问iframe中加载的内容来自另一个域名。这适用于CSS和JavaScript,因此您无法以任何方式修改内容。

Tha说,你可以在iframe中加载内容,并在你自己的页面上和iframe旁边有一个“侧边栏”。当您点击“侧边栏”中的任何链接时,您会在iframe中加载该引用,从而创建侧边栏与iframe内容相关的“感觉”。它绝不是一个很好的解决方案,但它是我现在能想到的最接近的。

<强>更新

在他的评论中扩展了@kieran提供的示例,其中包含一些链接,所以这里是我上面描述的working example

您的DOM看起来与此类似:

<div class="sidebar">
    <a href="http://images.yahoo.com/" target="container">Yahoo images</a><br/>
    <a href="http://news.yahoo.com/" target="container">Yahoo news</a>
</div>
<iframe name="container" class="site-container" src="http://www.yahoo.com/" />

您可以修改一些CSS以满足您的需求:

.sidebar {
    width: 150px;
    float: left;
    background-color: #ccc;
    border-right: 1px solid #888;
}

.site-container {
    border: 0;
}

.sidebar,
.site-container {
    height: 300px;
}