使我的书签跨浏览器

时间:2011-02-25 22:43:11

标签: javascript bookmarklet

以下是我之前提出的与此问题相关的问题: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 个答案:

答案 0 :(得分: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 :(得分:1)

尝试将您的代码长度优化为500字以下,当前它超过900。