大多數新型瀏覽器支持命令ctrl+click
或command+click
或類似的打開新標籤頁或新窗口中的鏈接。確定onclick單擊的鏈接是否打算打開一個新窗口或標籤
在應用程序中,我希望鏈接在點擊時被禁用。但是,只有當目標是相同的窗口時(例如,如果它在新標籤中打開,我不希望鏈接被禁用,因爲再次點擊它是合理的)。
我做了一些嘗試並調試了單擊時創建的事件對象 - 但我找不到有關目標是新選項卡還是新窗口的任何信息。
已知的解決方法:當然,可以檢查某個鍵是否在點擊特定鏈接時被按下,這是一件容易的事情 - 但由於這些命令因瀏覽器和瀏覽器而不同,從操作系統到操作系統不同,所以必須定義一個複雜的映射和誰不知道用戶配置了什麼等等。
是否有任何可靠的方式來確定位置是否應在新選項卡或窗口中打開?
那麼,這隻適用於一個固定的目標屬性。如果用戶通過按住ctrl(或類似的)來「覆蓋」這個屬性,那麼該屬性當然不會改變,因此測定失敗。 – Remo
我編輯了我的答案以符合您談論的情況,我想除了考慮用戶可以在新窗口中打開鏈接並嘗試在代碼中檢測它的每種方式之外,沒有其他解決方案。 – Pioul