在没有jquery- Firefox OS的情况下打开浏览器中的所有链接

时间:2013-11-07 17:03:39

标签: javascript firefox-os

我在stackoverflow上找到了这个解决方案。但是如果没有jquery,这怎么可能呢?

$('a[href^=http]').click(function(e){
    e.preventDefault();

    var activity = new MozActivity({
    name: "view",
    data: {
              type: "url",
               url: $(this).attr("href")
          }
    });
 });

2 个答案:

答案 0 :(得分:3)

您想在Firefox OS上的Firefox网络浏览器中打开您应用内的链接吗?然后我建议使用target =“_ blank”来避免对JavaScript的依赖。

如果您希望应用中的所有链接,只需将<base target="_blank">添加到代码部分即可。

答案 1 :(得分:1)

以下是使用querySelectorAlladdEventListener的直接端口:

var els = document.querySelectorAll('a[href^=http]');
for(var i=0,len=els.length;i<len;i++){
   els[i].addEventListener("click",function(e){
         e.preventDefault();
         var activity = new MozActivity({
             name: "view",
             data: { type: "url", url: this.href}
        });
    },false);
}

如果您动态添加链接,则无法使用此链接,因为您需要在添加链接或使用事件委派时添加侦听器。