这将有很多背景,因为我不是100%肯定如何问我在问什么。
我一直在嘲笑一个网站(我说嘲笑,因为还没有在线)。我有一个包含一系列图像的文件夹和一个XML文档(尽管它可以是任何东西),详细说明了图像需要显示的顺序。 XML文档是最好的方法吗?有更好的方法吗?
我在浏览chrome上的XML文档时遇到了麻烦,这显然是因为本地文件安全风险。 为什么我可以使用其他本地资源(图像)时存在安全风险?这适用于其他浏览器,但我无法在任何浏览器上使用非本地文件。
有许多例子,例如: http://www.w3schools.com/xml/tryit.asp?filename=tryxml_parsertest
问题是这些假设文件是本地文件:
xmlhttp.open("GET", "note.xml", false);
当他们提供这些内容时,他们从未将其作为页面提供:
www.notarealwebsite.com/note.xml
就像你可以复制的东西一样。所以我无法检查javascript是否正常工作。
我觉得自己很傻。 主要问题:如何测试我的xml解析器?
答案 0 :(得分:0)
xmlhttp.open("GET", "note.xml", false);
不是本地文件。这意味着该文件托管在w3schools上 文件路径是相对于页面的,即页面和xml存储在Web服务器上的相同位置。
文件路径为http://www.w3schools.com/xml/note.xml
您需要在网络服务器上类似地托管您的文件和xml,然后从您的网络服务器访问该页面。
您也可以设置自己的本地Web服务器进行开发。(大多数是免费的)
https://www.maketecheasier.com/setup-local-web-server-all-platforms/
http://www.hongkiat.com/blog/create-webserver-on-pc-the-fast-way/
如果您现在没有网络服务器:
你可以将你的xml作为字符串变量放在javascript中并加载它
(不需要服务器。)
//replace your xml here
var xmlStr = '<books>' +
' <book title="A Tale of Two Cities"/>' +
' <book title="1984"/>' +
'</books>';
var xmlDoc = parseXml(xmlStr);
// rest of code follows
您可以使用此答案中的parseXml
功能
XML parsing of a variable string in JavaScript
答案 1 :(得分:0)
XML文档是最好的方法吗?还有更好的方法吗?
这是非常主观的。
当我可以使用其他本地资源(图像)时,为什么这会带来安全风险?
通过在网页中显示来自用户硬盘的图像来解决安全问题要困难得多,然后用JavaScript从用户的硬盘读取数据。
如果HTML文档是电子邮件附件怎么办?并且读取的文件是一些流行的会计软件数据文件的标准文件路径?如果有人打开电子邮件附件,JavaScript可以将他们的财务记录发送给邪恶的攻击者。
如果要测试XHR内容,请运行本地HTTP服务器。