我在stackoverflow上找到了这个解决方案。但是如果没有jquery,这怎么可能呢?
$('a[href^=http]').click(function(e){
e.preventDefault();
var activity = new MozActivity({
name: "view",
data: {
type: "url",
url: $(this).attr("href")
}
});
});
答案 0 :(得分:3)
您想在Firefox OS上的Firefox网络浏览器中打开您应用内的链接吗?然后我建议使用target =“_ blank”来避免对JavaScript的依赖。
如果您希望应用中的所有链接,只需将<base target="_blank">
添加到代码部分即可。
答案 1 :(得分:1)
以下是使用querySelectorAll
和addEventListener
的直接端口:
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);
}
如果您动态添加链接,则无法使用此链接,因为您需要在添加链接或使用事件委派时添加侦听器。