使用社群網路登入:


廣告欄位一 點我申請!

廣告欄位二 點我申請!

CodeBox 點選【選擇全部】會導回首頁的問題

無法登入、系統異常、連結錯誤、誤入異次元等,歡迎至此回報。
版面無須登入亦可發文;被好喝的茶吃掉不算異常。

CodeBox 點選【選擇全部】會導回首頁的問題

文章薩維奇Savage » 2017年 10月 6日, 20:18

整理一下昨天阿五大發現的問題,提供一點淺見。
問題:點選Codebox的【選擇全部】會被導到首頁。(如下圖)

圖檔

夢魘大有提到在別處論壇也會有類似的結果(導回頂端。之前有提到部分套件作者已不再維護,覺得應該套件本身的問題。目前手邊試過Chrome,Vivaldi,Firefox,Safari,僅Safari可順利選取。
用developer tools追蹤後,問題點應是出在在於forum_fn.js 的 selectCode function,292行判斷問題及294行產生的Exception。看註解的說明,理應只有Safari才會進到294行setBaseAndExtent()。但是使用ChromeFirefox也都會進到294行導致拋出Exception。(見附圖紅字)
這部分後續應會牽扯到各瀏覽器的特性跟版本,若要調整可能需請前端改寫套件Script,但若對整體操作影響不大,應可以先暫不處理。

Firefox
圖檔
Chrome
圖檔
Living without an aim is like sailing without a compass.
頭像
薩維奇Savage
白月公民
星之殘屑
性別: 男
文章: 24
手頭現金: 284.95
來自: 叛盾
性別: 男
頭像出處: 那歧/NAGI


Re: CodeBox 點選【選擇全部】會導回首頁的問題

文章夢魘 » 2017年 10月 7日, 01:57

forum_fn.js 裡面,根據薩維奇說法找到的相關語法如下:

代碼: 選擇全部
function selectCode(a)
{
   // Get ID of code block
   var e = a.parentNode.parentNode.getElementsByTagName('CODE')[0];

   // Not IE and IE9+
   if (window.getSelection)
   {
      var s = window.getSelection();
      // Safari
      if (s.setBaseAndExtent)
      {
         s.setBaseAndExtent(e, 0, e, e.innerText.length - 1);
      }
      // Firefox and Opera
      else
      {
         // workaround for bug # 42885
         if (window.opera && e.innerHTML.substring(e.innerHTML.length - 4) == '<BR>')
         {
            e.innerHTML = e.innerHTML + '&nbsp;';
         }

         var r = document.createRange();
         r.selectNodeContents(e);
         s.removeAllRanges();
         s.addRange(r);
      }
   }
   // Some older browsers
   else if (document.getSelection)
   {
      var s = document.getSelection();
      var r = document.createRange();
      r.selectNodeContents(e);
      s.removeAllRanges();
      s.addRange(r);
   }
   // IE
   else if (document.selection)
   {
      var r = document.body.createTextRange();
      r.moveToElementText(e);
      r.select();
   }
}


估狗找國外資訊,似乎仍是無解:
Code: SELECT ALL stops working
Topic: Code Select not working?
Topic: Code: [Select] function not working in recent web browsers

雖然不至於嚴重影響操作,但點下去被亂傳送還是會覺得很落漆...繼續求解了
圖檔圖檔
頭像
夢魘
藍月元老
半月弦上
性別: 男
文章: 794
手頭現金: 1,054.45
銀行: 8,103.96
來自: 夢中
性別: 男
頭像出處: SL截圖
持有飾品數量: 2



回到 異常狀況回報

誰在城內

沒有生物入城 隻居民和 0 位遊客正在此處閒晃


布偶魂 - 專業布偶裝演出團隊

毛毛百科