Tag: 谷歌浏览器

jQuery事件在Firefox中运行,而不是Chrome

我在代码中注册了一些点击事件。 它们在Firefox(Windows和Mac)中正常运行,但不在Chrome中执行(尝试过Windows和Mac beta)。 JavaScript的目的是根据select元素的值显示正确数量的文本输入。 这是代码: http : //www.savetherobots.org/users/jkost/substitutioncipher.php 根据Firebug,该脚本没有错误。 代码有问题吗?

Chrome扩展程序内容脚本是否可以为html文件生成jQuery AJAX请求,该文件本身是Chrome扩展程序的一部分?

我正在处理Chrome扩展程序内容脚本 ,该脚本将在特定页面上向页面注入其他内容,以向现有网站添加function。 我的Chrome扩展程序中包含一个HTML文件,其中包含将要添加的内容的模板。 我希望我可以使用jQuery来检索HTML模板。 我最初尝试了一个简单的jQuery AJAX请求,如下所示: var url = “template.html”; $.get(url,function(data, textStatus, jqXHR){ console.log(“Got the template!”); console.log(data); },”html”); 但是,这会导致以下错误: 请求的资源上不存在“Access-Control-Allow-Origin”标头。 因此,不允许访问“chrome-extension:// gmjipglelhnlbakmlobgffnpceaalnnc”。 这听起来像Chrome扩展程序权限问题 ,相关权限似乎是[scheme]:[host]/*权限问题。 我的扩展ID是gmjipglelhnlbakmlobgffnpceaalnnc ,所以我尝试添加chrome-extension://gmjipglelhnlbakmlobgffnpceaalnnc/权限chrome-extension://gmjipglelhnlbakmlobgffnpceaalnnc/ ( 根据这是完全限定的Chrome Extension打包资源的前缀)。 这不起作用,因为Chrome告诉我权限’chrome-extension:// gmjipglelhnlbakmlobgffnpceaalnnc /’未知或URL模式格式错误 。 更多阅读,我发现有一个特定的设施,在这里描述扩展起源 ,以请求打包资源。 这一切都很好,但我更喜欢使用统一的API来请求资源,即能够使用jQuery来下载我的模板文件,就像我一直在为常规的“vanilla”web应用程序做的那样(即,不是Chrome扩展程序)。 有没有办法配置我的Chrome扩展程序权限,以便我可以通过jQuery的AJAX工具请求“扩展源”资源?

如何在运行脚本之前等待页面完成加载所有内容或如何最好地检测主要DOM更改

我正在使用此处描述的方法替换扩展(排序)作为替换文本的基础。 这是重要的代码 var elements = document.getElementsByTagName(‘*’); for (var i = 0; i < elements.length; i++) { var element = elements[i]; for (var j = 0; j < element.childNodes.length; j++) { var node = element.childNodes[j]; if (node.nodeType === 3) { var text = node.nodeValue; var replacedText = text.replace(/[word or phrase to replace here]/gi, '[new word or […]

使用第三方库

我想在我的chrome扩展中集成一个时间轴 。 我已经下载了这个插件的js文件和css文件,并将它们放在我的chrome扩展的根目录中。 chrome扩展本身就是向现有页面注入JS并修改html代码 。 但是,当我尝试使用该库时,我将收到错误消息: Uncaught ReferenceError: vis is not defined at addTimeLine (ui.js:230) at createClientBox (ui.js:270) at ui.js:62 这是我的manifest.json: “content_scripts”: [{ “matches”: [“https://web.whatsapp.com/*”], “css”:[“vis.min.css”], “js”: [“content.js”,”jquery-3.2.1.min.js”,”vis.min.js”], “run_at”: “document_end” }], “permissions”: [ “activeTab” ], 这里是content.js: function injectJs(link) { var scr = document.createElement(“script”); scr.type=”text/javascript”; scr.src=link; (document.head || document.body || document.documentElement).appendChild(scr); } //injectJs(chrome.extension.getURL(“/vis.min.js”)); injectJs(chrome.extension.getURL(“/ui.js”)); 执行content.js后, ui.js成功注入页面,我在页面上看到了我添加的按钮。 […]

在chrome扩展中使用什么而不是window.location.href?

嗨,我正在尝试创建一个chrome扩展,为了使我的应用程序扩展我遵循这一步骤, 1.转到chrome选项 – >更多工具 – >扩展。 2.我在该窗口中选择了开发者模式。 3.我选择了解压缩的扩展,然后选择了我的应用程序。 4.我点击了包扩展。 在我的应用程序中,我有几个html页面,CSS,JS和清单文件以及background.js。 清单文件 { “name”: “…”, “description”: “……..”, “manifest_version”: 2, “minimum_chrome_version”: “23”, “version”: “0.1.1”, “offline_enabled”: true, “icons”: { “16”: “sample.png” }, “permissions”: [ “storage”,”tabs”,””,”webview” ], “app”: { “background”: { “scripts”: [“background.js”] } } } background.js chrome.app.runtime.onLaunched.addListener(function() { chrome.app.window.create(‘login.html’, { id: ‘main’, bounds: { width: 1024, height: 768 […]

仅限Chrome:使用固定位置滚动问题重叠滚动div

根据这个答案Overlay divs on scroll我试图做同样的效果。 当你滚动时,这些部分被叠加在同一个地方 – 一个堆叠在下一个上面。 在Firefox上 – IE工作正常但在Chrome(最新版本 – 版本31.0.1650.63 m)上滚动时,下一张幻灯片开始播放该部分的内容,即重叠,正在被退回。 逻辑: 当下一张幻灯片/部分即将到来时,设置position:fixed; 到将重叠的部分。 基础html //conten goes here with img etc. css: html, body { height: 100%; margin: 0; padding: 0; } body { overflow-x: hidden; } .section { position: relative; z-index: 5; background: #FFFFFF; } .section-fixed { z-index: 1; } .section-inner { […]

更改元素Chrome扩展程序的颜色

我创建了一个简单的Jquery脚本作为chrome扩展,假设它改变了类的字体颜色。 如果我直接在控制台中使用它,脚本工作正常。 但如果我将它作为扩展名运行它不会在值大于1时触发。 什么可能是问题的任何建议? 的script.js (function(){ $(“#ID-layout-1435216276773-counterValue”).each(function() { var el = $(this); var value = parseFloat(el.text()); if (value > 1) { el .css(“font-weight”, “bold”) .css(“color”, “red”); } else { el.css(“font-weight”, “normal”); } }); })(); 表现 { “update_url”: “https://clients2.google.com/service/update2/crx”, “name”: “Live”, “version”: “0.3”, “description”: “Live”, “permissions”: [ “tabs”,”” ], “browser_action”: { “default_icon”: “icon.png” }, “icons”: { […]

显示Chrome扩展程序弹出窗口后如何触发事件?

我正在使用带有Google Chrome扩展弹出窗口的jQuery。 弹出页面使用jQuery的’document.ready’事件来触发对Web服务的请求。 问题是弹出窗口在收到响应之前不会呈现,这使得它看起来没有响应。 这是页面的大纲: $(document).ready(function() { plugin.init(); plugin.getData(); }); … 在 Chrome呈现弹出窗口后,是否有可用于触发’getData()’的事件? 我曾尝试使用body中的div可见性事件进行monkeying,但除了处理document.ready之外,我无法自动触发这些事件,从而导致相同的行为。

使用javascript / jquery检查.css样式表的名称

我正试图为一个论坛做一个小的chrome扩展,但我只希望它在论坛的某个区域工作。 问题是我不能只做“匹配”:[“subforum”],因为该论坛中的线程无法通过URL区分它们所属的子论坛。 子论坛有自己的css样式表,所以我想我是否可以快速检查当前样式表是否与subforum.css匹配它可以正常工作。 基本上我只需要检查样式表的名称,如果不可能,我如何准确检查当前样式表是否包含某个单词或元素。

$(document).on(“input”,“。SomeClass”)适用于Chrome,但不适用于IE

我有一个带有contenteditable标签的span,我有一个用于检测输入的函数.. //TextArea //Function $(document).on(“input”, “.SomeClass”, function () { console.log(“input entered”); }); 这适用于Chrome,但不适用于IE 11或更低版本。 我似乎无法在网上找到任何提及它,并想知道是否有人可以给我关于如何使这个工作或更好的方法的信息。 谢谢