Tag: 谷歌浏览器

AJAX请求本地文件系统无法在Chrome中运行?

我正在使用jQuery从XML动态创建UI。 我的jQuery在Firefox中工作,但在Chrome中它不起作用。 它给了我这个控制台错误: 交叉源请求仅支持协议方案:http,数据,chrome,chrome-extension,https,chrome-extension-resource。 以下是我的jQuery代码,它使用的是Firefox但不适用于Google Chrome: $.ajax({ url: ‘file:///home/satendra/dndExamples/avisDnD/file.xml’, success: function(xml) { $(xml).find(‘Tab’).each(function() { var id = $(this).attr(‘URL’); var tab = $(this).attr(‘TabName’); $(“ul”).append(“”+ tab +””); }); } });

XMLHttpRequest的; 交叉源请求仅支持协议方案:http,数据,chrome,chrome-extension,https,chrome-extension-resource

当我尝试进行ajax调用时,我在下面的chrome上得到了错误。 XMLHttpRequest无法加载javascript:;. 交叉源请求仅支持协议方案:http,数据,chrome,chrome-extension,https,chrome-extension-resource。 这是代码: $.ajax({ type: “POST”, data: {pvalue : pid}, cache: false, url: “xxx.in/yy/ajax.php”, success: function(data) { $modal.find(‘.edit-content’).html(data); }

在Chrome扩展内容脚本中,我必须在处理文档之前等待document.ready吗?

具体来说,我正在评估页面上的所有图像以查看它们是否具有某个属性,然后根据这些属性向DOM添加一些新的。 为了确保Chrome已经加载了DOM的所有必要部分,我必须等待document.ready在执行这些修改之前启动吗? 我遇到的问题是,有时document.ready需要一段时间才能触发并且用户已经在浏览页面,想知道为什么我的扩展程序还没有产生任何影响。 这个问题通常只会持续一段时间,但这足以令人烦恼。 如果我不打扰等待document.ready,而是立即处理文档,一切似乎都有效; 但我想知道我是否真的很幸运。

获取输入元素的像素的光标或文本位置

IE允许我在输入元素中创建一个文本范围,我可以在其上调用getBoundingClientRect()并获取某个字符或光标/插入符的像素位置。 有没有办法在其他浏览器中以像素为单位获取某个角色的位置? var input = $(“#myInput”)[0]; var pixelPosition = null; if (input.createTextRange) { var range = input.createTextRange(); range.moveStart(“character”, 6); pixelPosition = range.getBoundingClientRect(); } else { // Is there any way to create a range on an input’s value? } 我正在使用jQuery,但我怀疑它能否解决我的问题。 我期待一个纯JavaScript解决方案,如果有的话,但欢迎jQuery的答案。

chrome中的jquery ajax问题

我在我的页面上运行了以下jquery代码,在FF和IE中运行得很好,但是Chrome似乎很吓人…… 在FF和IE中进行调用,结果附加到div。 在chrome中,它在失败时调用ajaxfailed。 传递给AjaxFailed函数的XMLHttpRequest的状态代码为“200”,statusText为“ok”。 readystate是4,responseText被设置为我希望附加到div的数据..基本上从我可以看到它调用失败方法,但它没有失败..我尝试了get和post请求和它总是打破铬。 function getBranchDetails(contactID, branchID) { $.ajax({ type: “GET”, url: urlToRequestTo, data: “{}”, contentType: “application/json; charset=utf-8”, dataType: “json”, success: branchDetailsSuccess, error: AjaxFailed }); } function branchDetailsSuccess(result) { $(“#divBranchControl”).empty(); $(“#divBranchControl”).append(” ” + result); $(“#branchDiv”).tabs(); } function AjaxFailed(result) { alert(“FAILED : ” + result.status + ‘ ‘ + result.statusText); }

使用带有.change()事件的输入类型=“文件”字段上传文件并不总是在IE和Chrome中触发

我有一段简单的代码来上传文件: $(document).ready(function () { $(“.attachmentsUpload input.file”).change(function () { $(‘form’).submit(); }); }); 当我点击输入然后在对话框中选择一个文件时,我正在使用ajax提交此文件。 这不是重要的部分。 重要的是,当我在对话框中第二次选择相同的文件时,在提交第一个文件之后,.change()事件不会在IE和Chrome中触发。 但是当我选择不同的文件时,事件会触发并正常工作。 在Firefox下,它一直在开火。 如何解决这个问题,按预期工作(如在Firefox中)?