相关疑难解决方法(0)

使用内容脚本将代码插入页面上下文

我正在学习如何创建Chrome扩展程序.我刚开始开发一个来捕捉YouTube活动.我想将它与YouTube Flash播放器一起使用(稍后我将尝试使其与HTML5兼容).

manifest.json的:

{
    "name": "MyExtension",
    "version": "1.0",
    "description": "Gotta catch Youtube events!",
    "permissions": ["tabs", "http://*/*"],
    "content_scripts" : [{
        "matches" : [ "www.youtube.com/*"],
        "js" : ["myScript.js"]
    }]
}
Run Code Online (Sandbox Code Playgroud)

myScript.js:

function state() { console.log("State Changed!"); }
var player = document.getElementById("movie_player");
player.addEventListener("onStateChange", "state");
console.log("Started!");
Run Code Online (Sandbox Code Playgroud)

问题是控制台给了我"开始!" ,但没有"状态改变!" 当我播放/暂停YouTube视频时.

将此代码放入控制台时,它可以正常工作.我究竟做错了什么?

javascript google-chrome youtube-api google-chrome-extension content-script

452
推荐指数
5
解决办法
24万
查看次数

是否可以在Google Chrome扩展程序中确定标签的开启者?

我正在寻找一种方法来确定Google Chrome扩展程序中给定标签的开启者(父标签).

我已经查看了Tab的文档,但似乎没有任何可以产生这些信息的东西.http://code.google.com/chrome/extensions/tabs.html

我已经尝试将这个内容脚本注入页面(我想我可以将值传递给我的后台页面):

alert(window.opener);
Run Code Online (Sandbox Code Playgroud)

..但它只是产生null.

到目前为止,我提出的最好的方法是跟踪当前关注的选项卡,每当创建新选项卡时,只需假设关注选项卡是新选项卡的开启者/父级.我相信,由于背景标签很少(允许)打开新页面,因此事实上大部分时间都会正确识别父标签.但是,它似乎有点笨拙并且有时可能不准确 - 例如,如果另一个扩展程序打开了一个新选项卡,此方法可能会错误地标识新选项卡的开启者.

google-chrome google-chrome-extension

7
推荐指数
1
解决办法
3027
查看次数

chrome弹出窗口阻止程序在允许页面后重新检查

我有应用程序有时打开弹出窗口阻止程序,当用户运行应用程序时,chrome在URL框(右侧)中有一些标志,告诉用户弹出窗口被阻止,在这种情况下我给了用户另外还有新的警告信息,如"请注意页面被阻止请启用它......"

我的问题是我何时以及在哪个术语中需要再次检查,假设用户允许新的App页面

  1. 如果用户关闭并打开浏览器,他是否需要再次启用此弹出窗口?
  2. 我知道,如果用户将在不同的Chrome版本(如金丝雀或测试版)中运行它,他可能需要再次确认此页面但我的问题在哪种情况下弹出窗口将再次显示给同一用户(之前已确认)

  3. 允许 App运行弹出窗口阻止程序后会再次阻止它?

顺便说一下,我在公司看到他们通过一些自动化过程为弹出窗口阻止程序添加了例外,它是怎么回事?有一个代码可以做到吗?(奇怪......)

当我点击设置搜索pop - > privacy - > content settings - > manage exception然后我看到时,我看到了 在此输入图像描述

javascript firefox google-chrome popup popup-blocker

6
推荐指数
1
解决办法
717
查看次数