2011-09-08 61 views
0

我正在处理的是我有一个黑色背景的div,我希望能够点击并拖动它。我使用JQuery UI,以及我似乎无法弄清楚如何做到这一点。DIV在网页上拖动(Chrome扩展)

当div的图标被点击时,它会切换显示/隐藏,我想要点击并拖动它在网页上。稍后,这将对计算器,秒表等有帮助:但我似乎无法弄清楚如何显示/隐藏div,以及如何拖动它。

任何帮助将不胜感激。

清单:

{ 
    "name": "DIV Drag Test", 
    "version": "0.0.1", 
    "description": "DIV Drag Test", 
    "background_page": "background.html", 
    "permissions": ["http://*/*", "tabs"], 

    "icons": { 
     "48": "logo.png" 
    }, 

    "browser_action": { 
     "default_icon": "logo.png", 
     "default_title": "DIV Drag Test" 
    }, 

    "content_scripts": [ 
    { 
     "matches": ["http://*/*"], 
     "css": ["style.css"], 
     "js": ["js/jquery.js", "js/jquery-ui.js"] 
    } 
    ] 
} 

CSS:

div#test8935 { 
    cursor:pointer; 
    width:320px; 
    height:240px; 
    background-color:#000;} 

background.html

<script> 
$(document).ready(function() { 
    $('div#test8935').draggable(); 

    chrome.browserAction.onClicked.addListener(function(tab) { 
     $('div#test8935').toggle(350); 
    }); 
}); 

回答

0

自从我完成Chrome扩展开发之后,我已经有一段时间了,但是这些都是基于我记忆的初始想法。

它看起来像你试图通过background.html操纵网站上的div。你确定你不想定位内容脚本吗?背景没有界面,不会直接与页面交互。

所以我认为你想要做的就是将你的脚本从background.html移动到一个新的js文件,并将它与你的contentscript js params一起包含在内。

"content_scripts": [ 
{ 
    "matches": ["http://*/*"], 
    "css": ["style.css"], 
    "js": ["js/jquery.js", "js/jquery-ui.js", "contentscript.js"] 
} 
+0

我删除了脚本标记,将background.html文件重命名为script.js,并更新了清单,但仍然无效。 –

+0

一旦你有一个内容脚本,你可以使用萤火虫或ie/chrome开发者工具进行调试。跳进来看看你的剧本破坏的地方!无法调试,没有其他反馈。 – mrtsherman