javascript - 使用变量上传 Javascript 文件

标签 javascript jquery html variables

编辑: 我不想保存到文本文件....我希望用户能够选择他们自己的文件并使用该文件中的变量。

我想让用户上传他们自己的“settings.js”文件,然后页面在加载后使用这些变量。

我将如何更改我的代码以反射(reflect)这一点?

目前我有以下javascript文件和HTML代码:

Javascript 文件:settings.js

var myVariable = 6000;

HTML 文件:index.html

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>Load Javascript file</title>
</head>


<body>

    <script src="settings.js"></script>


    <div>

        <script>
            alert(myVariable)
        </script>

    </div>

</body>

</html>

请帮忙。

最佳答案

可能是这样的

document.getElementById("settings").addEventListener("change", function(){
if(this.files[0] && this.files[0].type == "text/javascript"){
    	var reader = new FileReader();
      reader.onload = function (e) {
         var settings = e.target.result.split("data:text/javascript;base64,")[1];
         eval(atob(settings));
         
         //use the loaded var's
         document.getElementById("result").innerText = myVariable;
      }
    	reader.readAsDataURL(this.files[0]);
    }
});
<input type="file" id="settings">
<div id="result"></div>

关于javascript - 使用变量上传 Javascript 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45388092/

相关文章:

javascript - 添加event.preventDefault()会杀死SoundJS

javascript - 淡入淡出效果但对于页面

javascript - XMPP:AngularJs + Strophe.js

javascript - 如何在任何 child 上使用相同的谷歌地图组件实例?

jquery - iframe 未使用 Fancybox v2.0.6 和 jQuery 1.7.2 填充

javascript - 使用 ajax 填充 select 时未选择默认选项的问题

jquery - 帮助下拉菜单上的 jquery onchange 事件

javascript - 找到html元素的底部位置并将内部元素放在父元素的底部

javascript - 试图实现某种具有动态高度的可滚动容器

html - 带有 CSS::before 的自定义复选框 - 在 Firefox/Edge 中不起作用