用js从新窗口打开超链接的火狐兼容问题
document.onclick=function(){o=event.srcElement;event.returnValue=false;open(o.href,''...
document.onclick=function(){
o=event.srcElement;
event.returnValue = false;
open(o.href,'','');
}
这段js代码放在网页中可以让一个链接强制性从新窗口打开
我测试了IE6,IE7都可以成功运行
但是在火狐浏览器(Firefox)中就失效了
有什么办法达到都兼容,都能成功运行?
谢谢!
我当然知道 可以使用
target="_blank"
可我这里就是要用js去实现这个功能 展开
o=event.srcElement;
event.returnValue = false;
open(o.href,'','');
}
这段js代码放在网页中可以让一个链接强制性从新窗口打开
我测试了IE6,IE7都可以成功运行
但是在火狐浏览器(Firefox)中就失效了
有什么办法达到都兼容,都能成功运行?
谢谢!
我当然知道 可以使用
target="_blank"
可我这里就是要用js去实现这个功能 展开
7个回答
展开全部
您好!很高兴为您答疑!
代码如下,兼容多种浏览器
<script type="text/javascript">
function externallinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href"))
anchor.target = "_blank";
}
}
window.onload = externallinks;
</script>
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
代码如下,兼容多种浏览器
<script type="text/javascript">
function externallinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href"))
anchor.target = "_blank";
}
}
window.onload = externallinks;
</script>
您可以在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
微测检测5.10
2023-07-11 广告
2023-07-11 广告
IEC62133与en62133的区别如下:1. 认证机构不同:IEC62133是国际的标准,它以国际通用的标准进行生产;而en62133采用的是欧盟的标准,它使用欧盟的生产需求进行生产。2. 宗旨不同:IEC62133的宗旨是促进电气、电...
点击进入详情页
本回答由微测检测5.10提供
展开全部
首先,你说的当然是可以实现的!但是为什么一定要用js来打开新窗口呢?用户可以屏蔽弹出窗口。
你展示的代码只能在IE里运行,firefix的Event机制与IE是不同的。主要是因为IE的实现很不规范。关于几种浏览器事件的详情,你去Google上查,有很详尽的资料,在这里我就不多言了。
要打开新窗口,非常简单。我建议你如果非特殊需求,都按以下的方式:
<a href="..." target="_blank">打开新窗口</a>
如果你非要用js的话,建议你使用prototype或jquery库。否则的话你就淹没在兼顾各种浏览器细节的海洋里吧。
你展示的代码只能在IE里运行,firefix的Event机制与IE是不同的。主要是因为IE的实现很不规范。关于几种浏览器事件的详情,你去Google上查,有很详尽的资料,在这里我就不多言了。
要打开新窗口,非常简单。我建议你如果非特殊需求,都按以下的方式:
<a href="..." target="_blank">打开新窗口</a>
如果你非要用js的话,建议你使用prototype或jquery库。否则的话你就淹没在兼顾各种浏览器细节的海洋里吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
复制下面的代码保存htm 运行
IE6,IE7通过,FF未测,请你测试下,我认为是兼容的。
<script type="text/javascript">
function externallinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href"))
anchor.target = "_blank";
}
}
window.onload = externallinks;
</script>
<a href="http://www.baidu.com">新窗口打开</a>
<a href="http://zhidao.baidu.com">新窗口打开知道</a>
IE6,IE7通过,FF未测,请你测试下,我认为是兼容的。
<script type="text/javascript">
function externallinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i=0; i<anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href"))
anchor.target = "_blank";
}
}
window.onload = externallinks;
</script>
<a href="http://www.baidu.com">新窗口打开</a>
<a href="http://zhidao.baidu.com">新窗口打开知道</a>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以编辑这个网页的链接 请参考如下例子:
<a href=http://zhidao.baidu.com/question/42377180.html>在原窗口打开</a>
</br></br>
<a href="http://zhidao.baidu.com/question/42377180.html" target="_blank">在新窗口打开</a>
你可以把上面的内容复制到一个.html文件 点击两个链接就可以看到不同的结果了.
或者设置成超级连接就可以了。
另外一种方法是:去下载
Tab Mix Plus扩展。
Tab Mix Plus
增强标签页浏览功能的扩展。
Tab Mix Plus 是原来的 Tab Mix 的一个增强版本。同 Tab Mix 一样,它提高了 Firefox 的标签浏览能力。它包含了诸如复制标签,控制标签焦点,撤销关闭标签和其他的一些功能。但是,它提供了更多的像标签点击选项等功能。有一点和TM不一样,它兼容MAC。
http://down.zdnet.com.cn/old/windows/swinfo/0,2008005031,39185031s,00.htm
设置一下就知道firefox的强大了。
或者你下载最新版本的火狐2.0.0.11
你的问题应该可以迎韧而解吧!
http://www.chinede.cn/firefox
<a href=http://zhidao.baidu.com/question/42377180.html>在原窗口打开</a>
</br></br>
<a href="http://zhidao.baidu.com/question/42377180.html" target="_blank">在新窗口打开</a>
你可以把上面的内容复制到一个.html文件 点击两个链接就可以看到不同的结果了.
或者设置成超级连接就可以了。
另外一种方法是:去下载
Tab Mix Plus扩展。
Tab Mix Plus
增强标签页浏览功能的扩展。
Tab Mix Plus 是原来的 Tab Mix 的一个增强版本。同 Tab Mix 一样,它提高了 Firefox 的标签浏览能力。它包含了诸如复制标签,控制标签焦点,撤销关闭标签和其他的一些功能。但是,它提供了更多的像标签点击选项等功能。有一点和TM不一样,它兼容MAC。
http://down.zdnet.com.cn/old/windows/swinfo/0,2008005031,39185031s,00.htm
设置一下就知道firefox的强大了。
或者你下载最新版本的火狐2.0.0.11
你的问题应该可以迎韧而解吧!
http://www.chinede.cn/firefox
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Richwong测试过,完全可以的。不过如果是非<a></a>的链接的话,又得做另外的处理。
如果你想用你原来的方法,可以这样修改:
document.onclick=function(e){ //存在默认传递的参量,令其为e
var o=e.srcElement||e.target;//兼容FF用e.target
o.target = "_blank";//设置目标窗口。
event.returnValue = false;//屏蔽
open(o.href,'','');
}
你原来的代码不成功是因为FF里面对象没有成功获取。
这种方法还有一个问题是你点击的不是超链接,那么就会报错,因为其他元素不一定存在target 等属性。最好做一个判断。
如果你想用你原来的方法,可以这样修改:
document.onclick=function(e){ //存在默认传递的参量,令其为e
var o=e.srcElement||e.target;//兼容FF用e.target
o.target = "_blank";//设置目标窗口。
event.returnValue = false;//屏蔽
open(o.href,'','');
}
你原来的代码不成功是因为FF里面对象没有成功获取。
这种方法还有一个问题是你点击的不是超链接,那么就会报错,因为其他元素不一定存在target 等属性。最好做一个判断。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询