我可以使用 JavaScript 通过 URL 插入远程文件中的一些纯文本吗?

我可以使用 JavaScript 通过 URL 插入远程文件中的一些纯文本吗?

所以,我不确定我遇到这个问题的原因是否是因为它看起来很像恶意活动。我试图做的是,通过一款非常不灵活且过时的基于 Web 的软件,让我的生活不那么糟糕。

基本上,我可以在软件内部编辑一个 HTML 块(它被插入到一个td元素中),并且我希望该块的内容来自我本地驱动器上的纯文本文件,并通过 Dropbox 同步到云端。

可以做这样的事情:

<td>
  <script>
    insert_text_from_url("https://dl.dropboxusercontent.com/s/blahblahblah/file.txt?token_hash=blahblahblah&dl=1");
  </script>
</td>

输出为<td>[contentsof_file.txt]</td>

答案1

您可以使用 JQuery 实现这一点。您需要有一种查找 td 的方法,例如为其指定一个 id:

<td id="insertTextHere">
</td>
<script>
    $(function(){
          $('#insertTextHere').load('https://dl.dropboxusercontent.com/s/blahblahblah/file.txt?token_hash=blahblahblah&dl=1');
    });
</script>

答案2

事实证明,与加载远程纯文本文件相比,将远程文件变成 JavaScript“包装器”要容易得多,使用相当 hack 的“多行文本变量”将纯文本内联:

远程可编辑文件.js:

var myString = function(){/*

Editable plaintext or whatever goes here!
Multiline, too!

*/}.toString().slice(15,-4);
document.getElementById('content').innerHTML = myString;

最后一行完成所有的工作;它非常简单,除非你遇到难以克服的可移植性问题,否则 jQuery 是多余的。

在原始页面(只能手动编辑的 HTML 块)中,您所需要的只是:

<div id="content"></div>
<script src="https://dropbox/link/to/remote_editable_file.js" type="text/javascript"></script>

相关内容