0
我试图使用字符合并来编码消息加密/解密页面。 我设法将密钥保存到一个文件,我想加载它。 我设法加载成功的关键与此:如何使用一个按钮从文件加载文本?
<script>
function loadkey() {
var keyToLoad = document.getElementById("keyToLoad").files[0];
var keyReader = new FileReader();
keyReader.onload = function(keyLoadEvent)
{
var keyFromFileLoaded = keyLoadEvent.target.result;
document.getElementById("key").value = keyFromFileLoaded;
};
keyReader.readAsText(keyToLoad, "utf-8");
}
</script>
<h3>Put your key here</h3>
<textarea id="key" cols="30" rows="1"></textarea>
<br>
<button onclick="genKey()">Generate key</button>
<button onclick="savekey()">Save key</button>
<input type="file" id="keyToLoad">
<button onclick="loadkey()">Load key</button>
但loodk与选择文件按钮非常愚蠢的,并分别装入按键。 所以我隐藏输入按钮,并从点击加载按键触发它:
<script>
function handleChooseKey()
{
document.getElementById("keyToLoad").click();
}
function loadkey() {
var keyToLoad = document.getElementById("keyToLoad").files[0];
var keyReader = new FileReader();
keyReader.onload = function(keyLoadEvent)
{
var keyFromFileLoaded = keyLoadEvent.target.result;
document.getElementById("key").value = keyFromFileLoaded;
};
keyReader.readAsText(keyToLoad, "utf-8");
}
</script>
<h3>Put your key here</h3>
<textarea id="key" cols="30" rows="1"></textarea>
<br>
<button onclick="genKey()">Generate key</button>
<button onclick="savekey()">Save key</button>
<input type="file" id="keyToLoad" style="display:none;">
<button onclick="handleChooseKey();loadkey();">Load key</button>
我的问题是它不能保证密钥加载后右LOADKEY()函数的工作,所以关键不会被加载,直到点击下一步。请帮帮我。谢谢:)
我猜你不能模拟的'file'输入事件。我会使文件输入透明,并在其上放置另一个按钮。所以,用户会认为他正在点击其他的东西。现在,从文件输入的'change'事件,我会调用'loadKey()'。 – 2013-05-03 10:02:10