Json 文件不显示在谷歌浏览器中
Posted
技术标签:
【中文标题】Json 文件不显示在谷歌浏览器中【英文标题】:Json file dosen't show up in google chrome 【发布时间】:2015-07-22 15:02:29 【问题描述】:我正在开发一个通过 jQuery 和 Leaflet 显示 Json 文件的页面。
Flickr 端工作正常,但是当我尝试 $.getJSON o 时,我在 Chrome 的控制台中看到一个错误:
XMLHttpRequest 无法加载文件:///C:/AppServ/www/PFEleaflet/test%20geojson/lot.json。跨源请求仅支持协议方案:http、data、chrome、chrome-extension、https、chrome-extension-resource。
但是当我尝试在 FireFox 中打开 .html 页面时,会显示 Json 文件,它工作正常。
这是我正在使用的代码:
var geoLayer = L.geoJson().addTo(map);
var geoList = L.control.geoJsonList(geoLayer);
geoList.on('item-active', function(e)
$('#selection').text(JSON.stringify(e.layer.feature.properties));
)
.addTo(map);
$('#geofile').on('change', function(e)
$.getJSON(this.value, function(json)
map.removeLayer(geoLayer);
geoLayer = L.geoJson(json).addTo(map);
map.fitBounds( geoLayer.getBounds() );
geoList.reload( geoLayer );
);
).trigger('change');
请帮忙。
【问题讨论】:
【参考方案1】:建议在本地服务器上打开此页面,而不是使用文件协议,这会导致这里和其他地方出现问题。 Nodejs serve 很棒,还是 Ruby 内置的 http 服务器。
这是一个很棒的清单。 https://gist.github.com/willurd/5720255
【讨论】:
我用 apache AppServe 对其进行了测试,它运行良好。非常感谢【参考方案2】:默认情况下,Chrome 不允许任何页面访问 file:///
方案,即使该页面也在该方案中(在您的本地计算机上)。您可以通过向 Google Chrome 快捷方式添加参数来覆盖此默认设置,如下所示:
转到您的桌面并复制 Google Chrome 快捷方式。右键单击快捷方式,然后单击Properties
。在属性窗口中,将以下内容添加到目标属性(引号之外):
--allow-file-access-from-files
这应该会产生一个看起来像这样的目标属性:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files
现在关闭所有打开的 Google Chrome 窗口并确保没有 chrome.exe
进程正在运行。将您的文件拖到刚刚创建的新快捷方式上,您的页面应该会启动并正常工作。
注意:我不建议更改原始快捷方式或将其设为默认快捷方式,因为启用此功能后,任何页面都可以访问file:///
方案,而不仅仅是您机器上的页面。
【讨论】:
好的,我现在试试看结果。非常感谢 我试图让它工作,但即使我将它添加到引号之外,属性目标也不接受新值。这是我收到的消息:在 Start in 字段中指定的文件 "C:\Program Files\Google\Chrome\Application\chrome.exe"--allow-file-access-from-files is invalid 。验证文件是否存在且路径是否正确 确保.exe"
和--allow
之间有一个空格。如果没有空格,我会收到相同的错误消息。
是的,这是错误,但即使我添加了空格,属性的开头也没有改变,它仍然是“C:\Program Files\Google\Chrome\Application\chrome.exe”。并且 Json 文件仍然没有显示出来!
这很奇怪,因为我使用相同的方法来测试我的一个项目并且效果很好。 "C:\Program Files\Google\Chrome\Application\chrome.exe"
的快捷方式是否可以单独使用?以上是关于Json 文件不显示在谷歌浏览器中的主要内容,如果未能解决你的问题,请参考以下文章