Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以在没有HTTP请求或<;的情况下从HTML应用程序目录检索文本文件;输入>;?_Javascript_Jquery_Html_Get_Src - Fatal编程技术网

Javascript 是否可以在没有HTTP请求或<;的情况下从HTML应用程序目录检索文本文件;输入>;?

Javascript 是否可以在没有HTTP请求或<;的情况下从HTML应用程序目录检索文本文件;输入>;?,javascript,jquery,html,get,src,Javascript,Jquery,Html,Get,Src,我正在开发一个本地运行的HTML/javascript应用程序 在处理img标记时,可以将src属性设置为具有相对路径的文件名,从而快速轻松地从应用程序目录加载图像。我想使用类似的方法从应用程序目录中检索文本文件 我用过TideSDK,但它不那么轻。我知道HTTP请求,但如果我没记错的话,只有Firefox对我在本地文件访问中使用HTTP表示欢迎(尽管使用src访问本地图像似乎不是问题)。我也知道FileReader对象;但是,我的界面要求我根据文件名加载文件,而不是根据文件浏览器选择加载文件,

我正在开发一个本地运行的HTML/javascript应用程序

在处理img标记时,可以将src属性设置为具有相对路径的文件名,从而快速轻松地从应用程序目录加载图像。我想使用类似的方法从应用程序目录中检索文本文件

我用过TideSDK,但它不那么轻。我知道HTTP请求,但如果我没记错的话,只有Firefox对我在本地文件访问中使用HTTP表示欢迎(尽管使用src访问本地图像似乎不是问题)。我也知道FileReader对象;但是,我的界面要求我根据文件名加载文件而不是根据文件浏览器选择加载文件


有什么方法可以实现这种类型的文件访问,还是我一直使用上述方法?

浏览器不允许您访问这样的文件,但您可以创建javascript文件,而不是这样的文本文件:

text1.js:

document.write('This is the text I want to show in here.');   //this is the content of the javascript file
现在,您可以随意调用它:

<script type="text/javascript" src="text1.js"></script>

浏览器中存在太多的安全问题(限制),使得许多本地web应用无法实现,因此我对类似问题的解决方案是从浏览器中移出,进入节点webkit,它将Chromium+node.js+您的脚本结合在一起,成为一个具有完整磁盘I/O的可执行文件


[edit]很抱歉,我以为你想用TideSDK做这件事,如果你想再试试TideSDK[/edit],我会给出我的答案

我不确定这是否是你想要的,但我会尽力解释我的情况。 我有一个应用程序,允许用户保存其进度状态。为此,我允许他选择一个文件夹,输入一个文件名,然后写下这个文件。当用户打开应用程序时,他可以打开保存的文件,并返回其进度。因此,我假设这个增强功能与您正在寻找的功能相似

在我的例子中,我使用本机文件Select允许用户选择特定的保存(我使用的是CoffeeScript):

(相关文件)

完成此步骤后,我将打开所选文件:

if !filePath?
  fileToLoad = Ti.Filesystem.getFile(scope.fileSelected.nativePath())
else
  fileToLoad = Ti.Filesystem.getFile(filePath)
data = Ti.JSON.parse(fileToLoad.read())
(相关文件)

请注意,这些代码片段是从我的项目中复制/粘贴的,如果没有我的其余代码,它们将无法工作,但我认为这足以说明我如何打开一个文件并读取他的内容

在本例中,我使用Ti.JSON.parse,因为这些文件中只有javascript对象,但在您的示例中,您可以只获取内容。如果您已经知道文件名,或者从另一种方式获得文件名,那么openFileChooserDialog不是必需的,您可以用自己的方式使用Ti.Filesystem

if !filePath?
  fileToLoad = Ti.Filesystem.getFile(scope.fileSelected.nativePath())
else
  fileToLoad = Ti.Filesystem.getFile(filePath)
data = Ti.JSON.parse(fileToLoad.read())