我的debug.html页面得到了这个:
window.onload = function() {
var dataFromLink = parseData(location.search.substring(5));
callScript(dataFromLink);
};
</script>
我的debugBoot.js得到了这个:
function parseData(dataFromLink){
dataFromLink=dataFromLink.replace(/%20/g, ' ');
dataFromLink=dataFromLink.replace(/%22/g, '"');
dataFromLink=dataFromLink.replace(/%27/g, '\'');
dataFromLink=dataFromLink.replace(/%3C/g, '<');
dataFromLink=dataFromLink.replace(/%3E/g, '>');
return dataFromLink;
}
function callScript(param1) {
var script = document.createElement("script");
script.type = "text/javascript";
script.innerHTML = param1;
script.id = "debugScript";
script.src = "debugScript.js";
document.getElementsByTagName("head")[0].appendChild(script);
return false;
}
当我加载页面时,来自location.search.substring(5)的数据看起来像这样,但我在parseData函数中删除了工作人员:
function execute(doSave) {
dss.login(userId);
return true;
}
所以,我有一个Web应用程序,我有一个文件夹WEBContent,还有我的文件debugScript.js
我的代码从那里读取文件,其中包含以下行:
script.src = "debugScript.js";
这有效,但我有问题......
我用来访问具有此代码的页面的链接还会触发一个函数,该函数将dataFromLink保存到文件中,从而调用数据。这很好,但有一个问题。总是当函数保存数据时,我需要刷新eclpise文件以便我的脚本可以读取它,如果我不刷新文件,它只是它的旧版本。
我尝试将其保存到本地磁盘,但后来我从浏览器中收到错误
Not allowed to load local resource: file://...
长话短说,我需要以某种方式创建一个脚本而不读取任何文件,但是要在页面中插入一个空脚本,然后将dataFromLink中的内容写入它......
有可能吗?
或者可能在某个地方创建一个临时文件,但不能在服务器上创建我可以阅读的文件?
我会接受任何解决方案:)
答案 0 :(得分:0)
忘了回答:)
好吧,我遇到的问题无法按照我想要的方式解决。
我最后做的是,我使用了第一页的来源,textarea所在的位置,并创建了一个javascript文件,我将其名称作为参数发送到第二页,然后可以找到该文件在文件系统中打开它:
<script id=loadScript>
window.onload = function() {
callScript(fileName, userId);
};
</script>
function callScript(fileName, userId) {
var script = document.createElement("script");
script.type = "text/plain";
script.id = "debugScript";
script.src = ".../getSource/" + userId + "/" + fileName;
document.getElementsByTagName("head")[0].appendChild(script);
}