用于打开 json 提要中的所有 url 的 Javascript window.open 函数
Posted
技术标签:
【中文标题】用于打开 json 提要中的所有 url 的 Javascript window.open 函数【英文标题】:Javascript window.open function to open all urls in a json feed 【发布时间】:2013-07-25 09:29:23 【问题描述】:我真的希望有人能够以此为我指明正确的方向,sp 提前感谢 :)
我需要获取 json 提要中的内容并使用一些 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";
这会在我的 url 上添加一个位置,但实际上我真正需要做的是将所有 url 像 href 刺痛一样
<a href="http://myurl.com"</a>
并以纯 javascript 的形式返回它们以调用函数
window.open('http://myurl.com', '_blank', 'location=yes');
希望这是有道理的,并感谢一些新手的帮助。 阿利斯特
还有一点……
Karaxuna - 感谢您的建议。虽然由于某种原因循环函数没有返回我需要的东西,但这可能是因为我试图使用它。
我实际上是在尝试为 Phonegap 进行移动浏览器调用,对我的所有链接使用 inappbrowser 功能,以便它们在应用程序 web 视图中打开,而不是在系统浏览器中打开。为此,我的所有链接都需要按功能启动 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;
);
,
但是,我没有使用您添加的点击功能打开链接。不知道出了什么问题。 阿利斯特
【问题讨论】:
作为一般评论 - 我认为大多数浏览器应该(并且将)防止在循环中从 javascript 打开太多新窗口。您可能还应该关注这种行为,以及它是否会影响您打开窗口的数量。 有js错误吗? 刚刚删除了我之前的评论!抱歉,我从未注意到您的更新(*** 的新功能!)。工作得很好,谢谢! 现在我的所有 ahref 链接都可以使用这个功能,我意识到我现在必须区别对待 mailto 标签,因为它们仍然需要在系统中打开才能被处理设备的邮件程序。有没有一种简单的方法可以从函数中排除 mailto: references? 【参考方案1】:for(var i=0; i<len; i++)
links[i].addEventListener('click', function(e)
window.open(this.href, '_blank', 'location=yes');
e.preventDefault();
);
【讨论】:
更新了下面的问题以上是关于用于打开 json 提要中的所有 url 的 Javascript window.open 函数的主要内容,如果未能解决你的问题,请参考以下文章