我正在开发Chrome扩展程序,并且需要一种function,以便我希望尽快(在加载之前)获取所有可见图像,隐藏它们并设置一些属性。 我一直在尝试这个: $(document).ready(function () { $(‘img:visible’).each(function() { $(this).css(‘visibility’, ‘hidden’); $(this).attr(‘data-internalid’, guid()); }); }); 但是在调试时,我注意到它甚至没有遍历循环。 我在这里缺少什么?
我有四个function: // NOTE: localDataStore is a function to stringify/parse an item from localStorage function removeCookie() { chrome.cookies.remove({“name”:”v1guid”,”url”:”http://website.com”},function (cookie){ console.log(“cookie removed”); }); } function getCookie() { chrome.cookies.get({“url”: “http://website.com”, “name”: “v1guid”}, function(cookie) { console.log(cookie); if(cookie !== null) { console.log(“getting cookie”); localDataStore.set(“cookie”, cookie); console.log(localDataStore.get(“cookie”)); } }); } function setCookie() { var cookiedata = localDataStore.get(“cookie”); chrome.cookies.set({ “url”: “http://website.com”, “name”: […]
我有一个连接到本机消息传递应用程序的chrome扩展。 当chrome扩展暂停时,我需要做一些清理工作。 我正在尝试使用chrome.runtime.onSuspend.addListener,但它无法正常工作。 这是我的代码: – 的manifest.json “background”: {“scripts”: [“background.js”], “persistent”: false}, background.js function Connect() { console.log(“Connected”); ext = chrome.runtime.connectNative(‘foxtrot’); chrome.runtime.onSuspend.addListener(function () { ext.postMessage({ message: “clean and close” }); }); }
我写了一篇关于此的类似post,但由于过于本地化而关闭了。 经过一些研究和测试,我认为我找到了问题的根源,这个问题应该更好地解释,希望更有帮助。 使用XMLHttpRequest我需要转到页面,模拟鼠标单击,然后获取一些内容。 这是我写的代码: var sendToLog; var xhr = new XMLHttpRequest(); xhr.open(‘GET’, ‘/newsfeed-simulator’, true); xhr.responseType = ‘document’; xhr.onload = function(e) { if (this.status == 200) { var event = xhr.response.createEvent(“MouseEvents”); event.initMouseEvent(“click”, true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); xhr.response.getElementById(“simulate-button”).dispatchEvent(event); $(xhr.response).ready(function() { console.log(xhr.response.body); sendToLog = xhr.response.getElementsByClassName(“story-score”); }); chrome.extension.sendMessage({writeToLog: sendToLog}); […]
在Firefox / Chrome扩展程序开发中,更改jQuery使用的文档非常重要。 它需要使用$(…)或jQuery(…)调用。 现在我被迫以这种方式使用jQuery: var jQDoc = jQuery(content.document); var someElements = jQDoc.find(‘.some-selector’); 我想要这样的东西 jQuery.setActiveDocument(content.document); var someElements = jQuery(‘.some-selector’); 没有jQuery代码更改是否可能? 更新 所有我需要的东西:将以这种方式使用jQuery(…)函数的重载: (function(){ /*overloading of jQuery(…) function*/ var _$ = jQuery; $ = jQuery = function(){ var args = Array.prototype.slice.call(arguments); if (arguments.length == 1){ args.push(_$._defaultRoot); } return _$.apply(_$, args); } jQuery.setDefaultRoot = function(element){_$._defaultRoot = element;} […]
我正在尝试连接我的chrome扩展程序的键盘快捷键。 我正在使用jQuery插件: http : //oscargodson.com/labs/jkey/ 。 这是我用来测试它的代码: $(document).ready(function() { function say_hello() { alert(“hello!”); } $(document).jkey(‘/’, say_hello); }); 我现在在后台页面中有这个,但它不起作用。 这种类型的代码应该放在后台页面中,还是更适合内容脚本的内容? 或者我应该把它放在其他地方吗?
我正在使用jQuery-textcomplete脚本处理简单的自动完成chrome扩展。 它在大多数传统网站上运行良好,因为它们使用textarea。 它不适用于Google+评论框,Facebook评论框甚至是Gmail。 因为他们只使用带有HTML5’contenteditable’选项的div标签来获取用户的文本,并且还在facebook中使用react。 所以jquery选择器不起作用。 我怎么解决这个问题? 这是我的选择器。 $(“textarea, .editable, textbox, text”).textcomplete([{ match: /(^|\S*)([^\u0000-\u007f]{2,}|\w{2,})$/, search: function (term, callback) { callback($.map(EnDict, function (word) { return word.indexOf(uni_word) === 0 ? word : null; })); }, replace: function (word) { return word + ‘ ‘; } }]); 有Github存储库
我正在尝试为Google Chrome开发应用: 打包应用 在我的apolicação中,使用命令$.get来检索HTML页面并将其插入当前页面: 页面HTML 脚本 $.get(url, function(html) { $(“#wrap”).html(html); }); 该行发生错误: $(“#wrap”).html(html); 尝试 在网上搜索,我在stackoverflow上找到了这个问题 ,但这对我没什么帮助。 另一个细节是此示例不是Chrome Web App。 同样的例子,完美地发布在互联网上: http : //ridermansb.kodingen.com/
我正在开发一个操纵网页的Google Chrome扩展程序,但是在部分加载(DOM)或完全加载(带图像)之后。 现在似乎很多网站都使用了 声明,或其中的一些变体,但许多其他人没有。 问题主要是关于HTML doctypes …我不确定其他人。 假设如果网页没有DOCTYPE声明,则可以安全地使用$(window).load(); 不会被解雇? 一开始我使用$(document).ready(); (对于加载DOM时),但后来切换到$(window).load(); (也让图像加载)。 问题是,现在$(window).load(); 如果没有DOCTYPE似乎不起作用。 $(文件)。就绪(); 无论是否声明DOCTYPE,似乎都适用于所有页面。 也许这对于有同样问题的其他人有用。 我搜索了一下,没有找到决定性的答案。 看来我最终会使用这样的东西: if (window.document.doctype != null) {$(window).load(checkEntries);} if (window.document.doctype == null) {$(document).ready(checkEntries);} 我想我的问题是……这是正常的,必须检查DOCTYPE以了解使用哪个事件? 或者我在这里遗漏了什么? 基本上,为什么$(window).load(); 如果没有DOCTYPE声明,似乎不会开火?
这是我之前关于使用XMLHttpRequest()发布到我的书签应用程序的问题的后续内容。 当我收到status 200 OK我想以某种方式指示请求成功的扩展图标的更改。 我用反色创建了另一个图标success_icon.png ,我试图让新图标替换原始图标并淡入原始图标。 我明白这将是我的回调函数,但我不明白怎么办? 这是我的background.html 。 谢谢! chrome.browserAction.onClicked.addListener(function(tab) { chrome.tabs.getSelected(null, function(tab) { tabId = tab.id; tabUrl = tab.url tabTitle = tab.title var formData = new FormData(); formData.append(“url”, tabUrl); formData.append(“title”, tabTitle); formData.append(“pitch”, “this is a note”); var xhr = new XMLHttpRequest(); xhr.open(“POST”, “http://ting-1.appspot.com/submithandlertest”, true); xhr.onreadystatechange = function (aEvt) { if (xhr.readyState == 4) […]