我有一个 html 文件(下面的示例),其中包含一个简单的 javascript 函数来检查 URL 是否存在。然而,它仅适用于某些现有的 URL(不是全部),并且它永远不适用于不存在的 URL——只是似乎不会产生任何结果。我不知道出了什么问题。
--tsf
<HTML><HEAD> <script> function Exists(url) { var req = new XMLHttpRequest(); req.open('HEAD',url,false); req.send(); return req.status!=404; } </script> </HEAD> <BODY> <script> if (Exists('http://stackoverflow.com/')) { document.write('Exists'); } else { document.write('Does not exist'); } </script> </BODY></HTML>
最佳答案
您面临“Same Origin Policy ”问题。这个概念是为了保护您的网络浏览体验,以便您访问的页面(即不良 JavaScript)无法与未知服务器通信,例如他们不会侵犯您的隐私(无法窃取您的数据)。
解决问题的最简单方法:将逻辑移至服务器(PHP、Ruby、Java 等)。让您的服务器执行 HTTP 请求并检查您需要什么。然后使用 XMLHttpRequest()
询问运行相同域和端口的您的服务器,这样就不会出现任何问题。仅此而已。
关于javascript - 嵌入html测试url的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17126809/