我需要驗證頁面上的很多鏈接。而不是自己打開每個鏈接。這就是我所做的。無法在新標籤中打開鏈接
使用firequery插件對頁面進行jquerified。然後我在螢火蟲中輸入以下代碼。
a = $('a');
$.each(a, function(i,val){
$val = $(val);
$val.attr({target: '_blank'});
$val.trigger('click');
});
即使我觸發點擊鏈接沒有點擊。爲什麼?
我需要驗證頁面上的很多鏈接。而不是自己打開每個鏈接。這就是我所做的。無法在新標籤中打開鏈接
使用firequery插件對頁面進行jquerified。然後我在螢火蟲中輸入以下代碼。
a = $('a');
$.each(a, function(i,val){
$val = $(val);
$val.attr({target: '_blank'});
$val.trigger('click');
});
即使我觸發點擊鏈接沒有點擊。爲什麼?
trigger('click')
只是不起作用。我最近遇到了同樣的問題,並使用click()
解決了這個問題。
你可以這樣做,好吧你會遇到彈出窗口阻止程序的問題,但如果這只是爲了調試目的,你可以簡單地禁用阻止程序,就是這樣。
a = $('a');
$.each(a, function(i,val){
window.open(val, '_blank');
});
下面是整個代碼,它對我有用。其實我沒有在服務器上測試它,只是檢查了我的桌面上的HTML文件。 Firefox不允許彈出窗口顯示,即使我說要顯示彈出窗口,但IE瀏覽器可以選擇允許彈出本地文件,它的工作原理,打開谷歌和雅虎的兩個窗口。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery-min.js"></script>
</head>
<body>
<a href="http://www.google.com">aa</a>
<a href="http://www.yahoo.com">bb</a>
<script>
$(document).ready(function() {
a = $('a');
$.each(a, function(i,val){
window.open(val, '_blank');
});
});
</script>
</body>
</html>
此代碼的工作對我來說:
$("a").each(function(i, val) { window.open(val.href); });
然而,Chrome會阻止這種代碼,因爲它試圖一次打開一些20個彈出窗口,但我可以看到它確實嘗試打開它們。
click()也不起作用 – 2010-03-09 21:10:50
今天晚些時候我會拉代碼。如果不是click(),那麼它是OnClick();或一些小的變體。我很快就會發布。 – 2010-03-09 21:37:50