在构建chrome扩展时无法与页面的DOM交互

时间:2015-03-14 17:48:11

标签: jquery dom google-chrome-extension

伙计们,我正在努力创造这样的东西。 https://www.uploady.com/#!/download/3FQNqMKaxCu/WnMhnfYaXKXRSTVv或者,如果突出显示任何文本,您可以想象出“Pin it”类型的按钮。

如果我的问题看起来很小,我很抱歉,但我刚刚开始编程。

我无法使内容脚本中的代码生效。有人可以指出我可能会出错的地方。

这是我想要执行的代码。 每当我选择任何文字时,我都希望在任何网页上启动提醒框。稍后我会将其替换为图像中的实际按钮。这是代码

myscript.js

    function getSelectedText()
    {
        var txt = '';
         if (window.getSelection)
        {
            txt = window.getSelection();
                 }
        else if (document.getSelection)
        {
            txt = document.getSelection();
                }
        else(document.selection)
        {
            txt = document.selection.createRange().text;
                }
    return txt;

    }


      $('window').mouseup(function() {
        var text=getSelectedText();
        if (text!='') alert(text);

    });

这是我的manifest.json文件

// JavaScript Document

    {    
        "manifest_version": 2,
        "name":"knowledge maps extension",
        "version":"1.0",
        "description":"",
        "browser_action":{ 
        "default_icon":"logo1.png",
        "default_popup": "popup.html"
                },

        "background":{
        "scripts":["background.js"],

       "persistent": false},


        "permissions": [ "tabs","http://*/*", "https://*/*" , "contextMenus"],

         "web_accessible_resources": [ "jquery-1.10.1.min.map", "frame.html" ],
     "homepage_url": "http://localhost/trial/Untitled-1.php",

     "content_scripts": [ {
      "js": [ "jquery-1.10.1.min.js","myscript.js"],      
      "css": ["mystyles.css"],

      "matches": [ "http://*/*", "https://*/*" ],
      "run_at": "document_start"
   } ]

   }

有人可以指出我是否朝着正确的方向前进。我想如果我可以让警报响起,我可以通过使用jquery添加一个按钮来轻松替换它。我想保持我的代码简单,所以我一次解决问题

1 个答案:

答案 0 :(得分:1)

你不应该在<script>标签中包装代码:Chrome需要一个JS源文件,而不是HTML代码段。

请调试您的代码:查看控制台和开发人员工具。