Tag: chromium

Ajax在Firefox上表现不同

我基本上试图检查文件下载的进度。 为此,我反复轮询一个php文件(progress_sess.php),该文件回显处理下载文件中更改的会话值(export.php)。 所以对export.sep有一个ajax请求,对progress_sess.php有多个ajax请求。 通过这种方式,我可以显示文件下载脚本当前所处的阶段。所有这些都在Chrome中运行良好。 从请求中可以清楚地看到,您可以在此处看到图像: – Chromium Requests 。 在Firefox中但是抛出了这个错误: – JSON.parse: unexpected end of data at line 1 column 1 of the JSON data 您可以在此处查看请求: – Firefox请求当我在Firefox中回显xhr.responseText时,它会给出: – “” 这可能是因为在图像中你可以看到Chromium,请求是application / json,正如progress_sess.php标题中指定的那样,而在firefox中,第一个请求是出于某些莫名其妙的原因text / plain?! 所以我不明白为什么firefox会得到一个text / plain响应头。 你可以看到progress_sess.php: – $result, source=>’progress_sess.php’); echo json_encode($arr); ?> 所以基本上我的json不可能出现问题。 所以我想我的问题是,为什么在我明确指定标题时抛出json解析错误? 是因为text / plain请求头,还是由于firefox和chrome之间的一些ajax差异。

内容脚本中的监听器

让我解释一下我的问题。 我目前正在开发一个Google Chrome扩展程序,它会在每个网页中将工具栏注入iframe。 问题是我在某些情况下需要隐藏工具栏,重新显示它和类似的东西。 Basicelly我想把我的听众放在我的背景页面上,但它没用,因为这个页面不能图形化地操纵对象。 所以我的计划是将这个监听器放在content_script上(谁能用图形方式操作对象)。 但第二个问题是与背景页面相反的内容脚本不会一直执行,而只会执行一次。 所以我问自己是否有可能让内容脚本听起来像一个背景页面,通过在它上面放一个循环或类似的东西…… 提前致谢。 我试过这个: 的manifest.json { “background_page” : “background.html”, “browser_action” : { “default_icon” : “images/extension.png” //”popup” : “activateToolbar.html” }, “content_scripts”: [ { “all_frames”: true, “css”: [“css/yourtoolbar.css”], “js”: [“js/jquery.js”, “js/yourtoolbar.js”, “js/listener.js”], “matches”: [“http://*/*”], “run_at”: “document_end” } ], “permissions” : [“tabs”, “unlimitedStorage”, “http://*/*”, “notifications”], “name” : “YourToolbar”, “version” : “1.1”, “description” […]

Google Chrome和Chrome不支持“Discontigious Selection”错误

我正在开发一个书签应用程序,我必须存储用户选择的关键字或单词或内容。 我使用createRange()和addRange()javascript方法创建范围,然后由用户找出所选元素/内容。 我为此编写的代码如下。 var storedSelections = []; function StoreSelection () { if (window.getSelection) { var currSelection = window.getSelection (); for (var i = 0; i < currSelection.rangeCount; i++) { storedSelections.push (currSelection.getRangeAt (i)); } currSelection.removeAllRanges (); } else { alert ("Your browser does not support this example!"); } } function ClearStoredSelections () { storedSelections.splice (0, storedSelections.length); […]