Re: [問題] 開啟多個javascript連結
※ 引述《alalal (何小明)》之銘言:
: 大家好,請教大家在 Firefox 或 Edge 上
: 是否可以同時開啟多個Javascript超連結?
: 如下
: javascript:openWin('ShowCompProfile.ASP?RecNo=22332%27)
: 試過幾個 Firefox 的擴充套件
: 如 Open Multiple URLs
: Open links in Tabs
: Snap Links Plus
: Open Selected Links等等
: 一般html的超連結可以,但javascript的超連結就不行
: 想請問大家有解決的方法嗎?
: 謝謝
javascript: 連結的功能就是在目前頁面執行一段 JavaScript 程式碼,
在新分頁開啟是不會有作用的。
如果 javascript: 連結本身的程式碼的功能就是「開啟新分頁並載入XXX」,
有個做法是模擬把框選範圍中每個超連結都點一下。
只是對一般超連結而言,頁面只能切換一次,
全部都點只會切換到其中一個分頁,
所以一般來說不太會有人做這個功能。
這功能想做的話並不困難,把以下網址加到書籤小工具(斷行請替換為半形空白),
框選想要「全部都點一下」的超連結們,再點擊這個書籤小工具就可以了:
javascript:(function(){ const ranges = []; const sel =
window.getSelection(); for (let i = 0, I = sel.rangeCount; i < I;
i++) { ranges.push(sel.getRangeAt(i)); } const nodeRange =
document.createRange(); const elems =
document.querySelectorAll('a[href], area[href]'); for (const elem of
elems) { if (!elem.isConnected) { continue; }
nodeRange.selectNode(elem); if (!ranges.some(range =>
range.compareBoundaryPoints(Range.END_TO_START, nodeRange) <= 0 &&
range.compareBoundaryPoints(Range.START_TO_END, nodeRange) >= 0)) {
continue; } elem.click(); } })();
--
《終結內容農場》瀏覽器套件
Chrome: http://bit.ly/CFTGC
Firefox: http://bit.ly/CFTFx (桌機 & Android 手機)
真相1: http://bit.ly/CFTss1
真相2: http://bit.ly/CFTss2
詳細介紹:http://bit.ly/CFTinfo
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.227.225.87 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Browsers/M.1635944075.A.860.html
※ 編輯: danny0838 (1.164.24.134 臺灣), 11/05/2021 22:46:20
推
11/06 00:22, , 1F
11/06 00:22, 1F
→
11/06 00:22, , 2F
11/06 00:22, 2F
→
11/06 00:22, , 3F
11/06 00:22, 3F
→
11/06 00:23, , 4F
11/06 00:23, 4F
→
11/06 00:23, , 5F
11/06 00:23, 5F
→
11/06 00:24, , 6F
11/06 00:24, 6F
→
11/06 00:41, , 7F
11/06 00:41, 7F
網頁中通常不會只有 javascript 連結,也會有其他普通的超連結,
如果完全不篩選無差別點擊所有超連結,
可能在按到普通超連結就離開目前分頁了,
離開目前分頁可能會有一點延遲(視瀏覽器實做及硬體設備而定),
但無法保證所有 javascript 連結都會在那之前被開啟。
況且就算可以,使用者也不一定想開啟所有連結,
所以還是支援只操作選取範圍的超連結會比較有可控性一點。
※ 編輯: danny0838 (1.164.24.134 臺灣), 11/06/2021 11:36:07
→
11/06 20:02, , 8F
11/06 20:02, 8F
→
11/06 20:02, , 9F
11/06 20:02, 9F
「JS 那段不會有影響」指的是前面寫的
「就算跳到其他頁面了,也根本不影響原分頁 JS 的執行」?
這不對啊,如果頁面在執行完 JS 以前就跳到其他頁面,
原來的 JS 就會有一些沒執行到,怎麼能說是沒影響?
以下是測試頁:
https://jsfiddle.net/t075vwgj/1/
試試在不同瀏覽器執行,點擊 "Click all links" 按鈕,
如果你說得對,應該在任何瀏覽器都會看到跳出 5 個視窗。
而我測試結果是不會。
※ 編輯: danny0838 (1.164.24.134 臺灣), 11/07/2021 11:53:22
→
11/07 14:58, , 10F
11/07 14:58, 10F
你這樣又回到原點囉...
原來的考量就是因為一般網頁中沒有開啟在原分頁的一般超連結的機率太小,
一次點全部連結無法正常運作的風險太高,所以才不這麼做的啊XD
※ 編輯: danny0838 (59.115.13.230 臺灣), 11/08/2021 22:37:50
→
11/09 16:05, , 11F
11/09 16:05, 11F
→
11/09 16:06, , 12F
11/09 16:06, 12F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Browsers 近期熱門文章
PTT數位生活區 即時熱門文章