11
A
回答
23
所有你需要做的是侦听鼠标事件:
- 鼠标按下:隐藏的泡沫。
- mouseup:显示气泡。
例如,这可能会帮助您开始。需要更多的调整,以确定是否从下 - >上,右 - >左(等)(所有方向)启动了选择。您可以使用下面的代码作为启动:
contentscript.js
// Add bubble to the top of the page.
var bubbleDOM = document.createElement('div');
bubbleDOM.setAttribute('class', 'selection_bubble');
document.body.appendChild(bubbleDOM);
// Lets listen to mouseup DOM events.
document.addEventListener('mouseup', function (e) {
var selection = window.getSelection().toString();
if (selection.length > 0) {
renderBubble(e.clientX, e.clientY, selection);
}
}, false);
// Close the bubble when we click on the screen.
document.addEventListener('mousedown', function (e) {
bubbleDOM.style.visibility = 'hidden';
}, false);
// Move that bubble to the appropriate location.
function renderBubble(mouseX, mouseY, selection) {
bubbleDOM.innerHTML = selection;
bubbleDOM.style.top = mouseY + 'px';
bubbleDOM.style.left = mouseX + 'px';
bubbleDOM.style.visibility = 'visible';
}
contentscript.css
.selection_bubble {
visibility: hidden;
position: absolute;
top: 0;
left: 0;
background:-webkit-gradient(linear, left top, left bottom, from(#2e88c4), to(#075698));
}
manifest.json的
改变比赛部分到您想要注入的域ct这些内容脚本。
...
...
"content_scripts": [
{
"matches": ["http://*/*"],
"css": ["main.css"],
"js": ["main.js"],
"run_at": "document_end",
"all_frames": true
}
...
...
如果你想它的样式看起来像一个泡沫,尼古拉斯·加拉格尔没有气泡一些真棒CSS3 demos!
0
如果没有人提供更好的答案,那么你可以看看如何Google Dictionary扩展它(它会很难,因为它的代码被最小化)。
2
我写了类似于你所问的内容。我听取用户选择文本,当有一个选择,我显示了“Facebook上的注意事项”,“定义”等的链接列表。
我开始写它后的一两天,我发现谷歌将在未来的版本中添加上下文菜单支持,所以直到最近(当我转换到上下文菜单时)我都没有触及它。
的代码看看:
http://code.google.com/p/select-actions/source/browse/trunk/select_actions.js?r=4
+0
另外,我应该提到,大多数人会立即卸载我的扩展,因为他们害怕有关访问所有页面信息的内容脚本的安全信息。 – 2010-12-11 01:59:53
相关问题
- 1. Chrome扩展覆盖css
- 2. 文本覆盖文本并可扩展。
- 3. 覆盖和扩展原型
- 4. 文本选择和冒泡
- 5. Chrome扩展选定的文本
- 6. Opera扩展中的覆盖
- 7. 覆盖使用Chrome扩展程序下载文件类型
- 8. 的Java扩展和覆盖方法
- 9. 在HTML中扩展Flash,覆盖Firefox,Chrome,Opera中的文本链接
- 10. QSyntaxHighlighter - 文本选择覆盖样式
- 11. 扩展方法和方法覆盖
- 12. 覆盖扩展方法
- 13. (覆盖||扩展)JavaScript方法
- 14. 覆盖无需扩展类
- 15. 扩展方法覆盖
- 16. 从扩展Flexform覆盖TCEFORM
- 17. Playframework扩展/覆盖点
- 18. 扩展SKAction以覆盖timingMode
- 19. 覆盖/扩展Magento核心JavaScript文件
- 20. Firefox扩展覆盖注入JavaScript文件?
- 21. JS - Chrome扩展 - 交通选择
- 22. 使用Javascript扩展文本选择
- 23. Chrome扩展脚本
- 24. Google Maps API 3.覆盖文本中的文本选择
- 25. jquery插件选项不正确扩展和覆盖
- 26. 当--user-agent标志被覆盖时安装Chrome扩展
- 27. 在Google Chrome扩展中安全地覆盖document.cookie
- 28. xsd选择覆盖
- 29. 覆盖Chrome UA文本输入样式
- 30. JavaScript本地原型:扩展,添加和覆盖方法?
您的Chrome扩展的答案是太棒了,而且得太少upvoted。一旦我可以分配赏金(24小时后),你就会得到它。非常感谢! – 2012-07-20 21:05:34
@BartKiers啊,谢谢,这没关系,我这样做是因为我喜欢帮助人们!我学会了使用StackOverflow和阅读文档:) – 2012-07-21 06:47:11