上下文:
基本上,我附上了一个小的HTML帮助文档去与我的程序(不意味着在服务器上,本地查看)。 HTML只是因为我在制作文档时感到非常自在,但我也希望它具有一些我不能在PDF或其他内容中实现的交互/动态内容。动态加载本地HTML页面上的内容
当您点击一个链接而不是让每个页面都需要它自己的HTML页面时,我会动态替换内容,这只是我习惯于这样做的事情,我可以更改菜单和横幅以及其他任何内容一个单独的'main'html文件,无需为共享内容中的一个微小更改而调整每个其他html文件。
当前方法:
现在它都是通过JavaScript和jQuery完成的。当用户点击一个链接时,我使用jQuery的load()函数加载适当的内容(一个html文件),并用加载的html文件中的内容替换内容div。目前只使用相对链接。例如。核心功能是类似下面的东西:
$("#ContentBox").load("content/faq.html");
这实际工作在几个星期前,当我第一次写的。这并不像我构建整个事物,直到现在才对其核心概念进行测试。但现在看来所有的浏览器都在阻止它。 Chrome的说:
XMLHttpRequest cannot load file:///C:/[....]/content/home.html. Cross origin requests are only supported for protocol schemes: http, data, chrome-extension, https, chrome-extension-resource. `
问:
所以我理解为什么它的发生,因为它是一个潜在的安全风险,以允许,我只是想弄清楚它周围的一个很好的方式,还是我想要做什么(如果这是可能的)。我的意思是我可以将所有内容预加载为javascript文件中的大字符串变量,或者作为隐藏的div打开和关闭,但我希望更优雅一些。
我不能指望我的程序的所有用户都设置本地Web服务器来查看帮助文档。
我已经考虑过File和FileReader类,但它们需要用户输入很多功能。还有iFrames,但它引入了各种奇怪的东西,需要考虑,我讨厌iFrames。
如何[当前答案](http://stackoverflow.com/questions/10752055/cross-origin-requests-are-only-supported-for-http-error-but-im-loading-a-co)不帮你? – Jonast92 2014-11-05 22:38:16
这就像你没有读过我的问题。所有的解决方案都能正常工作,但对于普通用户只需打开帮助文档无法预期。安装网络服务器,向chrome添加参数,python .. – wowohweewah 2014-11-05 22:41:34
如果您已经知道这些问题,那么这个问题本身就太宽泛了。没有人能告诉你最好的方法是什么。服务器托管便宜 – charlietfl 2014-11-05 22:54:30