我正试图通过内容脚本让用户选择页面,此时我将离开它。
有什么想法吗?谢谢!
答案 0 :(得分: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
});
}