0
//minimize latest news
window.document.querySelector("#ncWrapper > #nc > #action_ncMinMax").click();

//select location in weather
// $("a:contains('München')").click();

// check if variable is stored in cookie
var loc = $.cookie('loc_cookie');
if ( loc != null) {
    alert('loc existiert');
    var loc_exists = 1;
}
else { var loc_exists = 0; };

// only ask for location if no location is saved yet [functions inside if work]
if ( !loc_exists ) {
    var loc = prompt("Wählen Sie den Ort für den Wetterbericht?");
    alert('Sie haben ' + loc + ' als Ort für den Wetterbericht gewählt.');
};

    $("a:contains('" + loc + "')").click();

// save to cookie
$.cookie('loc_cookie', loc);
alert('loc in Cookie gespeichert');

谁能帮我?var loc = $.cookie('loc_cookie');似乎不起作用。我只是复制/粘贴它,希望你知道,我想让 js 做什么。

  1. 查找 cookie -> 获取 cookie 并保存(如果存在)
  2. 如果不存在,请询问位置 || 如果 if 什么都不做。
  3. 获取位置。
  4. 在 cookie 中保存位置。
4

4 回答 4

3

删除 if/else 块中的“var”关键字。通过添加它,您将创建一个新的局部变量。

// check if variable is stored in cookie
var loc = $.cookie('loc_cookie');
if ( loc != null) {
    alert('loc existiert');
    var loc_exists = 1;                 <- new instance of loc_exists
}
else { var loc_exists = 0; };           <- new instance of loc_exists

应该

// check if variable is stored in cookie
var loc = $.cookie('loc_cookie');
var loc_exists;
if ( loc != null) {
    alert('loc existiert');
    loc_exists = 1;
}
else { loc_exists = 0; };

最后,使用布尔值可能更清楚:

if ( loc != null) {
    alert('loc existiert');
    loc_exists = true;
}
else { loc_exists = false; };
于 2012-12-13T14:30:38.600 回答
1

您需要在页面中包含 jQuery Cookie 插件才能使用 $.cookie。默认情况下,它不包含在 jQuery 中。

https://github.com/carhartl/jquery-cookie

于 2012-12-13T14:30:21.803 回答
0

约翰尼莫普是对的。

你的问题是你已经声明了loc_exists你的声明里面if

为了解决这个问题,将声明移到外面并在语句中设置它的值:

var loc = $.cookie('loc_cookie');
var loc_exists = 0;
if ( loc != null) {
    alert('loc existiert');
    loc_exists = 1;
}
于 2012-12-13T14:31:24.830 回答
0

这是我的代码。似乎工作得很好。不幸的是,网站在此期间添加了该功能^_^

// check if variable is stored in cookie
var loc = $.cookies.get('loc_cookie');
if ( loc != null) {
    alert('loc existiert');
    var loc_exists = 1;
}
else { var loc_exists = 0; };

// only ask for location if no location is saved yet [functions inside if work]
if ( !loc_exists ) {
    var loc = prompt("Wählen Sie den Ort für den Wetterbericht?");
    alert('Sie haben ' + loc + ' als Ort für den Wetterbericht gewählt.');
};

$("a:contains('" + loc + "')").click();

// save to cookie
$.cookies.set('loc_cookie', loc);
alert('loc in Cookie gespeichert');
于 2012-12-15T01:24:45.953 回答