2011-02-25 59 views
0

這是我以前與此問題相關的問題:Read source code from tabs in IE/Chrome/Firefox製作我的小書籤跨瀏覽器

我不是很擅長Javascript。我能夠寫出一些適用於Firefox但不適用於IE或Chrome的內容。有人可以幫助我在IE,Firefox和Chrome下運行嗎?我正在運行IE 8,Firefox 3.6.13和Chrome 6.

我的總體計劃是進入顯示密碼的頁面,突出顯示密碼,單擊我書籤工具欄上的小書籤按鈕,然後選擇正確的解碼密鑰將顯示在屏幕上的文本框中。

javascript:(
    function() 
    { 
     var selectedText = document.getSelection(); 
     if (selectedText == "") 
     { 
      alert('Please select the pass code before clicking the button.'); 
      return; 
     } 

     var map = []; 
     map["0"] = "Z"; 
     map["1"] = "D"; 
     map["2"] = "H"; 
     map["3"] = "K"; 
     map["4"] = "N"; 
     map["5"] = "E"; 
     map["6"] = "H"; 
     map["7"] = "S"; 
     map["8"] = "U"; 
     map["9"] = "W"; 
     map["A"] = "M"; 
     map["B"] = "Q"; 
     map["C"] = "H"; 
     map["D"] = "A"; 
     map["E"] = "P"; 
     map["F"] = "O"; 
     var output = ""; 

     for (var i = 0; i < selectedText.length; i++) 
     { 
      output = output + map[selectedText[i]]; 
     } 

     var frmObject = document.forms[0]; 
     var frmElement = frmObject.elements["txtPassCode"]; 
     frmElement.value = output; 
    } 
)(); 

回答

2
<script type="text/javascript"> 
    function GetSelectedText() { 
     if (window.getSelection) {  // Firefox, Opera, Google Chrome and Safari 
      var range = window.getSelection();           
      alert (range.toString()); 
     } 
     else { 
      if (document.selection.createRange) {  // Internet Explorer 
       var range = document.selection.createRange(); 
       alert (range.text); 
      } 
     } 
    } 
</script> 

來源:http://help.dottoro.com/ljcvonpc.php

1

嘗試優化你的代碼長度在500字,目前它更然後900

+0

什麼是落後500個字符的理由? – 2011-03-08 15:03:19

+0

不是500而是512,它是用於古代IE版本 – 2011-03-16 15:44:07

+0

空格將被計爲3個字符 - %20,所以儘量使代碼儘可能少。 – ahgood 2011-03-17 08:38:13