Jqu*_*ers 15 html javascript security titanium local-files
我想检查HTML文件所在的本地文件是否存在.它必须是JavaScript.永远不会禁用JavaScript.jQuery不好但可以做到.
顺便说一句,我正在为Mac制作一个钛应用程序,所以我正在寻找一种方法来保护我的文件免受点击"显示包内容"的人的影响.
dSe*_*ien 14
你的问题很模糊,所以根据你真正想要实现的目标,有多种可能的答案.
如果您正在开发我正在猜测使用Titanium的桌面应用程序,那么您可以使用FileSystem模块的getFile来获取文件对象,然后使用exists方法检查它是否存在.
以下是从Appcelerator网站获取的示例:
var homeDir = Titanium.Filesystem.getUserDirectory();
var mySampleFile = Titanium.Filesystem.getFile(homeDir, 'sample.txt');
if (mySampleFile.exists()) {
alert('A file called sample.txt already exists in your home directory.');
...
}
Run Code Online (Sandbox Code Playgroud)
对于那些认为他在询问通常的Web开发情况的人来说,那么这就是我给出的两个答案:
1)您想检查服务器端文件是否存在.在这种情况下,您可以使用ajax请求尝试获取文件并对收到的答案做出反应.但请注意,您只能检查Web服务器公开的文件.一个更好的方法是编写一个服务器端脚本(例如,php),它会为你做检查,给定一个文件名并通过ajax调用该脚本.另外,请注意,如果您不够小心,可以在应用程序/服务器中轻松创建安全漏洞.
2)您要检查是否存在客户端文件.在这种情况下,正如其他人所指出的那样,出于安全原因不允许这样做(虽然IE过去通过ActiveX和Scripting.FileSystemObject类允许这样做)并且它很好(没人希望你能够通过他们的文件),所以忘记这一点.
Siu*_*ear 10
由于'Kranu'有用地建议'与文件系统的唯一交互是加载js文件...',这表明通过错误检查这样做至少会告诉你文件是否不存在 - 这可能足以满足您的目的?
从本地计算机,您可以 通过尝试将其作为外部脚本加载然后检查错误来检查文件是否不存在.例如:
<span>File exists? </span>
<SCRIPT>
function get_error(x){
document.getElementsByTagName('span')[0].innerHTML+=x+" does not exist.";
}
url=" (put your path/file name in here) ";
url+="?"+new Date().getTime()+Math.floor(Math.random()*1000000);
var el=document.createElement('script');
el.id="123";
el.onerror=function(){if(el.onerror)get_error(this.id)}
el.src=url;
document.body.appendChild(el);
</SCRIPT>
Run Code Online (Sandbox Code Playgroud)
一些笔记......
你可以用它
function LinkCheck(url)
{
var http = new XMLHttpRequest();
http.open('HEAD', url, false);
http.send();
return http.status!=404;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
111764 次 |
| 最近记录: |