Tag: content script

从chrome扩展内容脚本中选择的

我无意中尝试从chrome内容脚本激活change()事件。 我已经浏览了网站和谷歌post,但仍然无效。 这里是我试图实现的描述 考虑以下网页(如果有人帮助,可以通过http://www.gilzu.com/TFF/select.html访问): Untitled Page $(document).ready(function () { $(‘#woot’).die(‘change’); $(‘#woot’).live(‘change’, function () { $(‘#description’).text(jQuery(‘#woot’).val()); }); console.log(“window ready”); $(“#meh”).click(function() { $(‘#woot’).val(15); $(‘#woot’).change(); }); $(‘#woot’).val(21); $(‘#woot’).change(); }); a b c d e f g 什么工作:1。在启动时,change()激活并将选择框更新为21并在div上显示正确的值。 2.按下#meh按钮,将选择框更改为15,触发在屏幕上显示正确值的change()事件。 到目前为止并不奇怪。 所以我通过以下方式前往内容脚本: $(document).ready(function () { $(‘#woot’).val(17); $(‘#woot’).change(); }); 所以select标签更新,但change()事件不会触发。 我已经阅读了关于chrome扩展孤立世界的论坛,并对此理论进行了测试: $(document).ready( function() { $(“#meh”).click(); }); 并且它实际上触发了选择框的click事件和change事件! 另外,与另一篇声称与js的代码注入有效的post相矛盾: $(document).ready( function() { […]

如何将数据从内容脚本传递到页面级?

我正在将所有js代码注入首页,但它需要ui和stuff的图片,只能在chrome.extension.getUrl的帮助下导入,并且只能从content-script调用,所以我发现大量的建议如何将数据传递到内容页面,而没有关于如何传回数据,是否可能呢? 我的代码现在看起来像这样: 我的js代码,将注入其他代码: var Content = {}; $(document).contentReady = function(content) { Content = content; $(document).ready(function () {/*cool stuff here, that require content*/}); } var event = new CustomEvent(‘LoadContent’); window.dispatchEvent(event); 内容脚本: document.querySelector(‘head’).appendChild(jsCode); window.addEventListener(“LoadContent”, function(evt) { var content = { data: “url(” + chrome.extension.getURL(‘content.smth’) + “)” }; document.contentReady(content); }, false); 显然,我得到document.contentReady is not a function但是在文档中声明函数是关于如何在大约2小时的谷歌搜索后从内容脚本传回数据的唯一(!)建议。