我正在尝试创建一个外部链接,该链接出现在同一个网站中。
在这里,如果我点击一个链接,它应该显示我们网站内该链接(外部网站(的内容。也就是说,如果我的网站是网站a,并且我放置了一个链接(到网站B(,该链接将重定向到"网站B"并关闭"网站a"。我只是想避免这种情况,除了我想让网站B在网站A 内打开
我的想法是,当链接打开时,将创建一个iframe,并在该iframe中打开外部网站。
<a href="http://www.google.com" target="your_frame_name" onclick="executeOnClick()">Google</a>
<script type="text/javascript">
function executeOnClick(){
<iframe name="your_frame_name" src="www.google.com" > </iframe>
return true;
}
</script>
我写了这个代码,但没能得到我所期望的。我试着用按钮,但它不起作用。
有其他办法解决我的问题吗。。
不需要javascript,使用target
属性:
<a href="http://www.hopamchuan.com" target="iframe1">Load the page</a>
<iframe id="iframe1"> </iframe>
JSFiddle
重要信息:您无法显示http://google.com在iframe中,因为它们的CCD_。请参阅:X-Frame-Options响应标头
function executeOnClick(){
$('body').append('<iframe name="your_frame_name" src="www.google.com" height=200 width=200 > </iframe>');
return true;
}
试试这个
iframe
标记不应在JavaScript
函数内。这除了抛出一个异常之外什么也没做。将标记放在锚下方,并在点击时更改其src
:
<a href="http://www.google.com" onclick="executeOnClick(this)">Google</a>
<iframe id="targetFrame"></iframe>
<script>
function executeOnClick(target) {
document.getElementById("targetFrame").src = target.src;
return false;
}
</script>
事实上,您甚至不需要JavaScript
就可以做到这一点。您可以使用锚点的target
属性,并将其设置为要在中打开页面的帧的名称
<a href="http://www.google.com" target="targetFrame">Google</a>
<iframe name="targetFrame" id="targetFrame"></iframe>
更改为:
onclick="executeOnClick(this); return false;"
并在您的函数中执行此操作:
<script type="text/javascript">
function executeOnClick(elem){
var frame = '<iframe name="your_frame_name" src="'+ elem.getAttribute('href') +'" > </iframe>';
document.body.appendChild(frame); // <----append it here.
}
</script>
在onclick函数中,您必须使用return false;
来停止锚点的默认行为,从而将您带到另一个页面。
请注意,google.com将无法使用iframe
<a href="javascript:void(0)" onclick="executeOnClick('http://www.google.com')">Google</a>
<iframe id="targetFrame"></iframe>
<script>
function executeOnClick(src) {
document.getElementById("targetFrame").src =src;
}
</script>
<iframe src="www.google.com" height="400" width="551" frameborder="0" scrolling="no" runat="server"></iframe>
也使用runat属性。希望这能奏效。如果没有,错误是什么?