我正在尝试创建一个出现在同一网站内的外部链接。
在这里,如果我点击一个链接,它应该显示我们网站内该链接(外部网站)的内容。即,如果我的网站是siteA,并且我放置了一个链接(到siteB),该链接将重定向到'siteB'关闭'siteA'。我只是想避免这种情况,除了我想让siteB在siteA中打开
我的想法是,当链接打开时,将创建一个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>
我写了这段代码,却无法得到我的期望。我试图使用按钮,但它不起作用。
还有其他方法可以解决我的问题..
答案 0 :(得分:2)
不需要javascript,请使用target
属性:
<a href="http://www.hopamchuan.com" target="iframe1">Load the page</a>
<iframe id="iframe1"> </iframe>
重要:由于X-Frame-Options
,您无法在iframe中显示http://google.com。请参阅:The X-Frame-Options response header
答案 1 :(得分:0)
function executeOnClick(){
$('body').append('<iframe name="your_frame_name" src="www.google.com" height=200 width=200 > </iframe>');
return true;
}
试试这个
答案 2 :(得分:0)
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>
答案 3 :(得分:0)
更改为:
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;
停止锚点的默认行为才能将您带到另一页面。
答案 4 :(得分:0)
请注意,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>
答案 5 :(得分:-1)
<iframe src="www.google.com" height="400" width="551" frameborder="0" scrolling="no" runat="server"></iframe>
也使用runat属性。希望这有效。 如果没有,那是什么错误?