Javascript 如何使链接在单击时打开多个页面
我有两个(或更多)链接。例如:和 当我单击单个链接时,如何使它们都打开 例如,一个名为“单击此处”的链接,单击该链接将打开两个不同的空白窗口。HTML:Javascript 如何使链接在单击时打开多个页面,javascript,jquery,html,Javascript,Jquery,Html,我有两个(或更多)链接。例如:和 当我单击单个链接时,如何使它们都打开 例如,一个名为“单击此处”的链接,单击该链接将打开两个不同的空白窗口。HTML: <a href="#" class="yourlink">Click Here</a> 窗口。打开还可以获取其他参数。请看这里: 您还应该知道window.open有时会被弹出窗口阻止程序和/或广告过滤器阻止 下面Paul的补充:这种方法还依赖于启用的JavaScript。这通常不是一个好主意,但有时是必要的。您可能希
<a href="#" class="yourlink">Click Here</a>
窗口。打开
还可以获取其他参数。请看这里:
您还应该知道window.open有时会被弹出窗口阻止程序和/或广告过滤器阻止
下面Paul的补充:这种方法还依赖于启用的JavaScript。这通常不是一个好主意,但有时是必要的。您可能希望排列HTML,这样即使未启用JavaScript,用户也可以打开所有链接。(我们称之为渐进式增强。)如果是这样的话,类似的方法可能会很有效: HTML
- “);//创建一个新链接。。。
多链接。单击(函数(){
for(URL中的变量i){
window.open(URL[i]);/…在单击时在其自己的窗口中打开每个存储的链接。。。
}
});
$('.yourlinks')。替换为(多链接);/。。。并用新链接替换原来的HTML链接。
});
这段代码假设您每页只想使用一个这样的“多链接”。(我也没有测试过它,所以可能有很多错误。)我用一种简单的方式做了:
<a href="http://virtual-doctor.net" onclick="window.open('http://runningrss.com');
return true;">multiopen</a>
它将在新窗口和同一窗口中打开。您可以单击打开多个窗口。。。试试这个
<a href="http://--"
onclick=" window.open('http://--','','width=700,height=700');
window.open('http://--','','width=700,height=500'); ..// add more"
>Click Here</a>`
`
您需要解锁浏览器的弹出窗口,代码才能正常工作
chrome://settings/contentExceptions#popups
我在保罗和亚当的方法之间创造了一种混合方法: 打开链接数组的链接已在html中。jquery只创建链接数组,并在单击“全部打开”按钮时打开每个链接: HTML: 您可以在这里查看:
如果您希望通知访问者将打开哪些链接,可以使用JS函数从html元素读取链接。您甚至可以让访问者编写/修改链接,如下所示:
<script type="text/javascript">
function open_all_links() {
var x = document.getElementById('my_urls').value.split('\n');
for (var i = 0; i < x.length; i++)
if (x[i].indexOf('.') > 0)
if (x[i].indexOf('://') < 0)
window.open('http://' + x[i]);
else
window.open(x[i]);
}
</script>
<form method="post" name="input" action="">
<textarea id="my_urls" rows="4" placeholder="enter links in each row..."></textarea>
<input value="open all now" type="button" onclick="open_all_links();">
</form>
函数打开所有链接(){
var x=document.getElementById('my_URL').value.split('\n');
对于(变量i=0;i0)
if(x[i].indexOf(“:/”)<0
window.open('http://'+x[i]);
其他的
窗口打开(x[i]);
}
这里是javascript的一个基本实现——我将它分离到一个外部文件中
HTML
<a href="" id="multi-link-opener" onclick="openMultipleLinks(myLinks)">Click To Open Links</a>
JS
var myLinks = [
"https://google.com",
"https://www.w3schools.com/jsref/met_win_open.asp",
"https://developer.mozilla.org/en-US/docs/Web/API/Window/open"
]
function openMultipleLinks(links) {
for (var i = 0; i < links.length; i ++) {
window.open(links[i]);
}
}
var myLinks=[
"https://google.com",
"https://www.w3schools.com/jsref/met_win_open.asp",
"https://developer.mozilla.org/en-US/docs/Web/API/Window/open"
]
函数OpenMultipleLink(链接){
对于(变量i=0;i
请注意,用户必须启用弹出窗口才能打开页面
这就是它的作用:我想说这些否决票可能是因为这种行为会让大多数用户感到惊讶-一次点击,一个窗口是非常正常的。为什么是空白窗口?为什么会有愚蠢的链接文本“点击这里”?@Paddy:不,否决票是因为问题陈述得不好。也许吧。我想这至少是一个直截了当的问题。也许-3有点苛刻,因为这可能是某种内部应用程序,或者不是什么大问题/需要的东西。不可靠,是的。是否值得在没有任何解释的情况下将其埋葬在地下?不,帕迪,正常吗?请原谅,如果您勾选了一堆消息并单击[打开所选项目]链接,那么如果只打开第一条消息,就会令人困惑和恼火。每当我们因为坏人做了很多事情而回避这些事情时,我们就表现得好像这些事情只是为了滥用而存在的,这使得HTML现在更难编写(通过网站检查框架集,不允许使用iFrame等,这个列表一直在不断地出现……——在2015年底更有效,尽管这是从2011年开始的。此外,如果禁用JavaScript,则单击链接时不会发生任何事情。HTML中的链接最好是正常的,但是使用一个类(比如
yourlink
),然后使用jQuery将它们组合成一个链接,打开所有URL。这样你就可以在HTML中指定URL,而不是在JavaScript中。渐进式增强可以拯救我们所有人。太棒了,本。当你可以点击答案左边的复选框时,一定要将其标记为答案。虽然这在Firefox中仍然有效,但Chrome的弹出窗口拦截器现在阻止了第二个window.open(在Chrome 37和FF 32中测试)。JSFiddle:假设他想使用jQuery,但为了公平起见,他将其标记为jQuery。很好的方法这一个适合我。非常感谢。还有一件事:窗口将集中在末尾的onclick url上。:)
<ul class="links">
<li><a href="http://www.google.com/"></a></li>
<li><a href="http://www.yahoo.com/"></a></li>
</ul>
<a id="open-all" href="#">OPEN ALL</a>
$(function() { // On DOM content ready...
var hrefs = [];
$('.links a').each(function() {
hrefs.push(this.href); // Store the URLs from the links...
});
$('#open-all').click(function() {
for (var i in hrefs) {
window.open(hrefs[i]); // ...that opens each stored link in its own window when clicked...
}
});
});
<script type="text/javascript">
function open_all_links() {
var x = document.getElementById('my_urls').value.split('\n');
for (var i = 0; i < x.length; i++)
if (x[i].indexOf('.') > 0)
if (x[i].indexOf('://') < 0)
window.open('http://' + x[i]);
else
window.open(x[i]);
}
</script>
<form method="post" name="input" action="">
<textarea id="my_urls" rows="4" placeholder="enter links in each row..."></textarea>
<input value="open all now" type="button" onclick="open_all_links();">
</form>
<a href="" id="multi-link-opener" onclick="openMultipleLinks(myLinks)">Click To Open Links</a>
var myLinks = [
"https://google.com",
"https://www.w3schools.com/jsref/met_win_open.asp",
"https://developer.mozilla.org/en-US/docs/Web/API/Window/open"
]
function openMultipleLinks(links) {
for (var i = 0; i < links.length; i ++) {
window.open(links[i]);
}
}