在我的应用程序中,最初这些代码有效:
var htm = "<div> My content </div>";
$("#divprint").html(htm);
window.setTimeout('window.print()', 4000);
但是,当我尝试将其包装在if语句中时,它将不会打印:
var canprint= $.cookie("actionprint");
alert("I am outside " + canprint);
if(canprint == null){
alert("I am inside");
var htm = "<div> My content </div>";
window.setTimeout('window.print()', 4000);
}
当我运行此代码时,我只收到第一个警告:“我在外面无效”
由于javascript的范围是功能级别,我想知道,为什么会失败?
答案 0 :(得分:1)
你能尝试if语句吗,
if (!canprint)
答案 1 :(得分:1)
行。奇怪的是:
首先,我试图打印出来:
console.log(typeof canprint, canprint);
令人惊讶的是,结果是:
string null
所以,我改为if条件:
if(canprint == "null")
然后它可以进入if。
虽然这很有效,但有谁能解释发生了什么? 这真的是出于我的探险。
答案 2 :(得分:0)
从setTimeout函数中删除引号和括号
window.setTimeout(window.print, 4000);
并使用以下内容:jQuery check if Cookie exists, if not create it
var CookieSet = $.cookie('cookietitle', 'yourvalue');
if (CookieSet == null) {
// Do Nothing
}
if (jQuery.cookie('cookietitle')) {
// Reactions
}