我真的希望有人能够指出我正确的方向,预先感谢:)
我需要接受json feed中的内容并使用一些javascript来获取嵌入式链接 - 然后我通过document.getElementsByTagName获取 - 并将它们转换为window.open函数。
我到目前为止已经
了var links = document.getElementsByTagName('a');
var len = links.length;
for(var i=0; i<len; i++)
{
links[i].target = "_blank";
}
这会在我的网址上添加一个位置,但实际上我真正需要做的就是把所有网址都像href一样叮咬
<a href="http://myurl.com"</a>
并以普通的javascript方式返回它们以调用函数
window.open('http://myurl.com', '_blank', 'location=yes');
希望这是有道理的,并感谢一些新手的帮助。 奥利斯特
多一点......
Karaxuna - 感谢您的建议。虽然由于某种原因,循环功能没有返回我需要的东西,但这可能是因为我正在尝试使用它。
我实际上正在尝试为Phonegap进行移动浏览器调用,使用inappbrowser函数为我的所有链接,以便它们在应用程序webview中打开,而不是在系统浏览器中打开。为此,我的所有链接都需要按功能启动 window.open('http://myurl.com','_ blank','location = yes');
我正在使用sencha touch来创建一个列表项目点击,它从json提要中获取内容,我的代码看起来像
onMylistItemTap: function(dataview, index, target, record, e, eOpts) {
dataview.up().push({
xtype: 'panel',
html: [
"<div class='news_story'>" +
" <h4>" + record.get('title') + "</h4>" +
" <img src='" + record.get('mobile_url') + "' />" +
" <span>" + record.get('content') + "</span>" +
"</div>"
],
id: 'NewsDetailCard',
scrollable: {
direction: 'vertical',
directionLock: true
}
});
var links = document.getElementsByTagName('a');
var len = links.length;
for(var i=0; i<len; i++)
{
links[i].addEventListener('click', function(){
window.open(this.href, '_blank', 'location=yes');
return false;
});
}
},
但是,我没有使用您添加的点击功能打开链接。不确定是什么问题。 奥利斯特
答案 0 :(得分:1)
for(var i=0; i<len; i++)
{
links[i].addEventListener('click', function(e){
window.open(this.href, '_blank', 'location=yes');
e.preventDefault();
});
}