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 文件不显示在谷歌浏览器中的主要内容,如果未能解决你的问题,请参考以下文章

CSS未显示在谷歌浏览器的覆盖选项卡中

怎么在IE显示NaN,在谷歌浏览器显示正常

javascript文件中有中文,在谷歌浏览器中乱码,在ie,火狐中正常显示

linux中谷歌浏览器简易安装方法

怎样在谷歌浏览器上安装拦截广告的插件呢?

刚刚装了谷歌浏览器,在谷歌浏览器中怎样启动应用