- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为我的扩展实现一个开/关切换,这是一个内容脚本,它 Hook “beforeload”事件并根据某些逻辑有选择地取消请求(例如,您想阻止某个域的 URL加载、加载的特定 URL 等)。
我正在后台页面中设置“启用”变量并使用 chrome.extension.sendRequest()
在我的内容脚本中 & chrome.extension.onRequest.addListener()
在我的后台扩展页面中检索扩展的启用/禁用状态
后台脚本:
Settings = {};
Settings.enabled = 1;
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if (request.getState == "enabled") {
sendResponse({result: Settings.enabled});
} else {
sendResponse({});
}
}
);
我有一个弹出页面,用于处理设置启用/禁用变量。当单击“启用”按钮时,chrome.extension.getBackgroundPage().Settings.enabled = 1;
触发,当单击“禁用”按钮时,
chrome.extension.getBackgroundPage().Settings.enabled = 0;
触发(此功能运行良好)
我的内容脚本之前我开始检查“启用/禁用”变量( should_block_request
是伪代码):
(function() {
document.addEventListener("beforeload", function(event) {
if (should_block_request) {
event.preventDefault();
}
}, true);
}());
这是之后,使用 chrome.extension.sendRequest()
进行消息传递查询后台页面的“enabled”设置,并在其回调中执行请求阻塞逻辑
(function() {
document.addEventListener("beforeload", function(event) {
chrome.extension.sendRequest({getState: "enabled"}, function(response) {
var enabled = response.result;
if (!enabled) {
return;
} else {
if (should_block_request) {
event.preventDefault();
}
};
});
}, true);
}());
“之前”内容脚本按预期工作,在满足条件时阻止请求,但是当我尝试内容脚本的“之后”版本时,条件仍然得到满足,但是即使调用 event.preventDefault() ,请求也不会被阻止。
chrome.extension.sendRequest() 是检查“beforeload”事件处理程序回调中的 Settings.enabled 变量的正确方法吗? event.preventDefault() 是否需要调用比我当前拥有的级别更高的级别?
最佳答案
我不确定这是否有帮助,但在 chrome v16 和更高版本的扩展中可能会禁用/启用 javascript。
这是一个这样的扩展:http://code.google.com/p/chromium/issues/detail?id=71067
关于javascript - 实现 Chrome 扩展开/关切换按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8584527/
我有这样的数据: Box,Code Green,1221 Green,8391 Red,3709 Red,2911 Blue,9820 Blue,4530 使用 pandas 数据框,我想知道是否可以
我正在尝试使用 pandas 计算数据框中各行的扩展均值。如果计算列,一切似乎都工作正常: >>> t = pd.DataFrame([1,2,3,4,5,np.nan]) >>> t 0
我是一名优秀的程序员,十分优秀!