我有以下代码:
<script src="http://crypto-js.googlecode.com/svn/tags/3.1.2/build/rollups/aes.js"></script>
<div id="decrypted">Please wait...</div>
Insert new note:<input type="text" id="new_note"><input type="button" id="enc_button" value="Save">
<script>
var password = "testpassword";
var encrypted_text = localStorage.getItem("encrypted");
var rawData = atob(encrypted_text);
var iv = rawData.substring(0,16);
var crypttext = rawData.substring(16);
var plaintextArray = CryptoJS.AES.decrypt(
{ ciphertext: CryptoJS.enc.Latin1.parse(crypttext) },
CryptoJS.enc.Hex.parse(password),
{ iv: CryptoJS.enc.Latin1.parse(iv) }
);
var decrypted = CryptoJS.enc.Latin1.stringify(plaintextArray);
document.getElementById("decrypted").innerHTML = decrypted;
document.getElementById("enc_button").onclick = function(){
var text = document.getElementById("new_note").value;
var encrypted = CryptoJS.AES.encrypt(text, password);
localStorage.setItem("encrypted",encrypted);
}
</script>Run Code Online (Sandbox Code Playgroud)
使用CryptoJS使用AES加密字符串; 解密保存在本地存储中的加密文本,并将结果显示在div中
虽然字符串似乎已加密,但变量decrypt为空.Chrome控制台中未触发任何错误.
我有一些文本输入,我希望它们在点击时的宽度为500px.
var inputs = document.querySelectorAll("input[type=text]")
for(i=0; i<inputs.length; i++){
inputs[i].onclick = function(){
inputs[i].style.width = "500px";
}
}Run Code Online (Sandbox Code Playgroud)
<input type="text" id="sometext">Run Code Online (Sandbox Code Playgroud)
在Chrome控制台上,我在下一行中收到"无法读取未定义的属性'样式":inputs[i].style.width = "500px";当我点击输入时.
我该如何修复我的代码?
我有这个代码:
AngularJS:
$scope.languages = [
{ language: "English", i18n: "en" },
{ language: "Espanol", i18n: "es" },
{ language: "Polski", i18n: "pl" },
{ language: "Portugues", i18n: "pt" },
{ language: "Svenska", i18n: "se" },
];
Run Code Online (Sandbox Code Playgroud)
HTML:
<li ng-repeat="lang in languages" id="langRow_{{lang.i18n}}">
<a href="#" id="lang_{{lang.i18n}}" ng-click="changeLang(lang.i18n);"><i class="flag-icon flag-icon-{{lang.i18n}} mr-sm"></i>{{lang.language}}</a>
</li>
Run Code Online (Sandbox Code Playgroud)
我想隐藏循环中的元素,例如:
$("#langRow_es").hide();
Run Code Online (Sandbox Code Playgroud)
它不起作用.怎么解决这个?
我需要在列表中显示后继较大的元素的数量。例如,在列表 [3,7,2,1,9] 中,我的函数应该返回 2,因为 7 大于 3 并且 9 大于 1。
为了做到这一点,我想使用过滤器函数:
greaterElems :: Ord a => [a] -> Int
greaterElems [] = 0
greaterElems [x] = 0
greaterElems (x:xs) = length (filter (< head xs) (x:xs))
Run Code Online (Sandbox Code Playgroud)
然而,这并不像预期的那样工作:似乎 Haskell 总是考虑列表的第二个元素,好像“head xs”只计算一次,但这对我来说似乎不正常,因为 Haskell 是懒惰的。
我错过了什么,我该如何修复我的代码以实现我的目标?
我正在尝试使用 javascript 获取数字的平方根。
为此,我尝试了以下代码:
<script>
var rad = sqrt(4);
alert(rad);
</script>Run Code Online (Sandbox Code Playgroud)
(这会在 Firefox 的控制台中返回“ReferenceError:sqrt 未定义”)
<script>
var rad = pow(4,0.5);
alert(rad);
</script>Run Code Online (Sandbox Code Playgroud)
(但我得到“ReferenceError:pow未定义”)
我究竟做错了什么?
我有以下sql表:
ID |电子邮件| FBID
当我执行查询
INSERT INTO users(email,fbid) VALUES('randomvalue','otherrandomvalue')
Run Code Online (Sandbox Code Playgroud)
我想获取插入行的id.为此,我尝试编辑这样的查询:
INSERT INTO users(email,fbid) VALUES('randomvalue','otherrandomvalue') OUTPUT Inserted.id
Run Code Online (Sandbox Code Playgroud)
但是我得到了:
1064 - 您的SQL语法出错; 检查与MySQL服务器版本对应的手册,以便在第1行的"OUTPUT Inserted.id"附近使用正确的语法
可能是什么问题呢?
当我输入这段代码时:
window.onload = function(){
var inputs = document.querySelectorAll("input[type=text]");
console.log(inputs.length);
for(var j=0; j<inputs.length; j++){
inputs[j].onclick = function(){
this.style.width = "500px";
}
}
}
Run Code Online (Sandbox Code Playgroud)
在 html 页面中,它工作得很好,但如果我将其放入外部 .js 文件中,for 循环永远不会启动,因为 input.length 等于 0,即使在调用脚本的页面中有大量输入。可能是什么问题呢?
更新:我发现代码在正常条件下可以工作,但事实并非如此:
javascript ×5
angularjs ×1
cryptography ×1
cryptojs ×1
encryption ×1
filter ×1
haskell ×1
jquery ×1
mysql ×1
mysqli ×1
onload ×1
onload-event ×1
pow ×1
sqrt ×1
syntax-error ×1