- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在此处使用 Xubuntu 14.04 和 Firefox 45.0.1
如果location.hash == "#fullscreen"
,我正在尝试从后台脚本中自动将浏览器窗口置于全屏状态。 .
这是通过执行 postMessage()
从特权网页的脚本请求的。内容脚本监听的内容,然后将这个请求委托(delegate)给后台脚本。
一切都按预期工作,包括预期的 console.log()
background.js
中的值(请参阅下面的相关源代码片段)...除了,窗口不会变成全屏;实际上什么都没有发生,也没有关于要求用户启动事件的控制台警告,如果我从网页本身尝试类似的东西,我会收到这个警告(这就是我首先转向创建这个扩展的原因)。尝试w.state = 'minimized'
,例如,也不做任何事情。
问题:
window.state
改变(已经)? manifest.json
数据:
"background": {
"scripts": ["background.js"]
},
"content_scripts": [
{
"matches": ["*://privilegeduri/*"],
"js": ["jquery-1.11.3.min.js", "content.js"],
"run_at": "document_start"
}
],
// I've tried without "fullscreen" as well
"permissions": [
"tabs",
"fullscreen", // no mention of this on MDN, but I tried it anyway
"webNavigation"
]
if( location.hash == '#fullscreen' ) {
if( hasExtension() ) { // function that evaluates whether my extension is installed
window.postMessage( {
action: 'requestFullscreen'
}, 'http://privilegeduri' );
}
}
content.js
脚本:
function receiveMessage( e ) {
if( e.source === window && e.origin === 'http://privilegeduri' ) {
switch( e.data.action ) {
case 'requestFullscreen':
chrome.runtime.sendMessage( e.data );
break;
}
}
}
window.addEventListener( 'message', receiveMessage );
background.js
脚本:
function receiveMessage( message, sender, sendResponse ) {
if( sender.id === chrome.runtime.id && sender.url.match( /^http:\/\/privilegeduri/ ) ) {
switch( message.action ) {
case 'requestFullscreen':
browser.windows.get( sender.tab.windowId, {}, function( w ) {
console.log( w.state ); // outputs 'normal'
w.state = 'fullscreen';
console.log( w.state ); // outputs the expected value 'fullscreen'
} );
break;
}
}
}
chrome.runtime.onMessage.addListener( receiveMessage );
最佳答案
啊...我刚刚遇到了 windows.update()
方法以及当我尝试设置 state
通过updateInfo
它确实给出了一个通知的参数对象:
Type error for parameter updateInfo (Property "state" is unsupported by Firefox) for windows.update
关于ubuntu - 来自后台脚本的 window.state = 'fullscreen' 是否应该工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36703730/
我正在尝试在Elasticsearch中返回的值中考虑地理位置的接近性。我希望近距离比某些字段(例如legal_name)重要,但比其他字段重要。 从文档看来,当前的方法是使用distance_fea
我是Elasticsearch的初学者,今天在进行“多与或”查询时遇到问题。 我有一个SQL查询,需要在Elastic中进行转换: WHERE host_id = 999 AND psh_pid =
智能指针应该/可以在函数中通过引用传递吗? 即: void foo(const std::weak_ptr& x) 最佳答案 当然你可以通过const&传递一个智能指针。 这样做也是有原因的: 如果接
我想执行与以下MYSQL查询等效的查询 SELECT http_user, http_req_method, dst dst_port count(*) as total FROM my_table
我用这两个查询进行测试 用must查询 { "size": 200, "from": 0, "query": { "bool": { "must": [ { "mat
我仍在研究 Pro Android 2 的简短服务示例(第 304 页)同样,服务示例由两个类组成:如下所示的 BackgroundService.java 和如下所示的 MainActivity.j
给定标记 like this : header really_wide_table..........................................
根据 shouldJS 上的文档网站我应该能够做到这一点: ''.should.be.empty(); ChaiJS网站没有使用 should 语法的示例,但它列出了 expect 并且上面的示例似乎
我在 Stack Overflow 上读到一些 C 函数是“过时的”或“应该避免”。你能给我一些这种功能的例子以及原因吗? 这些功能有哪些替代方案? 我们可以安全地使用它们 - 有什么好的做法吗? 最
在 C++11 中,可变参数模板允许使用任意数量的参数和省略号运算符 ... 调用函数。允许该可变参数函数对每个参数做一些事情,即使每个参数的事情不是一样的: template void dummy(
我在我从事的项目之一上将Shoulda与Test::Unit结合使用。我遇到的问题是我最近更改了此设置: class MyModel :update end 以前,我的(通过)测试看起来像这样: c
我该如何做 or使用 chai.should 进行测试? 例如就像是 total.should.equal(4).or.equal(5) 或者 total.should.equal.any(4,5)
如果您要将存储库 B 中的更改 merge 到存储库 A 中,是否应该 merge .hgtags 中的更改? 存储库 B 可能具有 A 中没有的标签 1.01、1.02、1.03。为什么要将这些 m
我正在尝试执行X AND(y OR z)的查询 我需要获得该代理为上市代理或卖方的所有已售属性(property)。 我只用 bool(boolean) 值就可以得到9324个结果。当我添加 bool
我要离开 this教程,尝试使用 Mocha、Supertest 和 Should.js 进行测试。 我有以下基本测试来通过 PUT 创建用户接受 header 中数据的端点。 describe('U
我正在尝试为 Web 应用程序编写一些 UI 测试,但有一些复杂的问题希望您能帮助我解决。 首先,该应用程序有两种模式。其中一种模式是“训练”,另一种是“现场”。在实时模式下,数据直接从我们的数据库中
我有一个规范: require 'spec_helper' # hmm... I need to include it here because if I include it inside desc
我正在尝试用这个测试我在 Rails 中的更新操作: context "on PUT to :update" do setup do @countdown = Factory(:count
我还没有找到合适的答案: onclick="..." 中是否应该转义 &(& 符号)? (或者就此而言,在每个 HTML 属性中?) 我已经尝试在 jsFiddle 和 W3C 的验证器上运行转义和非
import java.applet.*; import java.awt.*; import java.awt.event.*; public class Main extends Applet i
我是一名优秀的程序员,十分优秀!