1
A
回答
4
嗯,我查了一些关于你想要做什么,这是我发现:
可以检测当用户想要使用此代码即可离开:
window.onbeforeunload = function() {
return "Are you sure you want to navigate away?";
}
和你可以得到用户的选择是这样的:
var getSelected = function(){
var t = '';
if(window.getSelection){
t = window.getSelection();
}else if(document.getSelection){
t = document.getSelection();
}else if(document.selection){
t = document.selection.createRange().text;
}
return t;
}
现在,如果我们合并这两个功能一起工作,我们可以做这样的事情:
window.onbeforeunload = function() {
return getSelected();
}
所有这些代码应该在你的内容脚本,我不知道为什么你想要得到的选择,但如果它是将其保存在您的数据库或进行进一步的处理,您可以发送的选择用户在background.html页,我不知道,如果你熟悉他们,但这里是一个链接,http://code.google.com/chrome/extensions/background_pages.html, 做到这一点,你可以使用消息传递API的Chrome扩展:
http://code.google.com/chrome/extensions/messaging.html
我已经为此工作了3周,而且非常简单,只要确保您有清晰的视图如何配置扩展的体系结构,因为这可以为您节省大量时间来确定数据流。
这将导致我们与此类似我们的内容脚本代码:
window.onbeforeunload = function() {
chrome.extension.sendRequest({userSelection:getSelected()});
}
你只需要在你的背景页面监听这样的请求:
var receiveMessage= function() {
chrome.extension.onRequest.addListener(function (request, sender, sendResponse) {
//Do something
});
}
+0
谢谢Syred ... onbeforeunload是我正在寻找! – Mitya
相关问题
- 1. 可以在https页面chrome扩展开发上运行内容脚本
- 2. 在导航离开页面
- 3. 如何在页面内容显示之前运行greasemonkey脚本?
- 4. 如何在Chrome扩展的后台页面上执行脚本
- 5. Chrome扩展程序:在加载(渲染)页面之前运行
- 6. Chrome扩展加载内容页面中的HTML页面
- 7. 在页面内动态导航页面
- 8. 扩展脚本可以在页面脚本之前触发吗?
- 9. 如何在页面上导航后在页面上保存内容
- 10. 如何从页面扩展导航栏?
- 11. 脚本应该只在离开页面时运行
- 12. 如何在Chrome扩展页面加载页面后触发Javascript?
- 13. Chrome扩展 - 如何在页面加载
- 14. Chrome扩展:内容脚本在所有网页上运行,另一个只有一个页面
- 15. Chrome扩展在页面加载前注入脚本
- 16. 如何在新页面上显示当前页面的内容
- 17. 在使用内容脚本加载每个页面之前运行JS的Chrome扩展
- 18. 在导航到页面之前预先载入页面WPF
- 19. 与Chrome扩展中的内容脚本中的页面脚本进行通信
- 20. 如何将内容脚本注入扩展中运行的html页面内
- 21. 运行宏,离开页面
- 22. 在页面开始之前运行脚本以重定向
- 23. 如何在离开当前页面之前加载链接的页面
- 24. 使用ajax导航时,在页面上运行ajax脚本?
- 25. jquery mobile导航到页面内页面
- 26. 在页面加载之前在ajax请求的页面上执行脚本
- 27. 如何在使用Chrome扩展程序加载页面时运行脚本
- 28. 如何将粘滞的导航栏放在页面上的内容前面?
- 29. 如何在页面开始加载前运行jQuery脚本
- 30. 从页面导航离开页面后不保留JS页面格式
你的问题对我来说并不完全清楚,您对用户选择的含义是什么?你能解释一下你想完成什么? – ElHacker
嘿Syred,对不起,我不是更清楚。我的意思是用户使用鼠标在页面上选择/突出显示的文本。 – Mitya
通常我只是执行一个内容脚本来做到这一点,但在这种情况下,我试图在“从页面导航到新页面”事件上做到这一点。 Chrome中不存在。 – Mitya