下面的代碼檢查是否存在cookie,如果沒有找到cookie,則設置它們。然後,用戶可以觸發點擊事件以存儲新的cookie。此代碼正用於在我自己的Google翻譯功能中切換語言。保存Cookie值但不能在重新加載後運行
使用下面顯示的location.reload();
時,它會正確加載cookie值,但語言不會更改。當我在不使用location.reload()
的情況下重新編碼時,語言會改變。我寧願重新加載頁面。
有什麼我在這裏失蹤?
<script>
jQuery(document).ready(function($) {
//Click event functionality for drop-down and flag language display
$("a.nturl").click(function() {
$.cookie("language_name", $(this).attr("title"),{ path: "/" });
$.cookie("flag_url", $(this).find("img").attr("src"),{ path: "/" });
location.reload();
});
$("a.flag").click(function() {
$.cookie("language_name", $(this).attr("title"),{ path: "/" });
$.cookie("flag_url", $(this).find("img").attr("src"),{ path: "/" });
location.reload();
});
$(function() {
var language_name = $.cookie("language_name");
var flag_url = $.cookie("flag_url");
if(typeof(language_name) == "undefined" || typeof language_name == "object") {
//alert("hello");
$.cookie("language_name","English");
var language_name = $.cookie("language_name");
}
if(typeof(flag_url) == "undefined" || typeof flag_url == "object") {
$.cookie("flag_url","<?php echo plugins_url(); ?>/google-language-translator/images/flags24/unitedstates.png");
var flag_url = $.cookie("flag_url");
}
$("div.selected").html("<a class=\"notranslate nturl\" onclick=\"return false;\" href=\"#\"><span class=\"flag\"><img class=\"flagimg flagselect\" src=\"" + flag_url + "\" alt=\"" + language_name + "\" height=\"16\" width=\"16\"></span>" + language_name + "</a>");
$.removeCookie("language_name");
$.removeCookie("flag_url");
});
$(function() {
var language_name = $.cookie("language_name");
var flag_url = $.cookie("flag_url");
var language_name = $.cookie('language_name');
if (language_name == "English") {
$('.en').css('display','none');
$('.selected').click(function() { $('.en').css('display','none'); });
}
if (language_name == "Spanish") {
//alert(language_name);
$('.selected').click(function() { $('.es').css('display','none'); });
}
$("div.selected").html("<a class=\"notranslate nturl\" onclick=\"return false;\" href=\"#\"><span class=\"flag\"><img class=\"flagimg flagselect\" src=\"" + flag_url + "\" alt=\"" + language_name + "\" height=\"16\" width=\"16\"></span>" + language_name + "</a>");
});
});
感謝這@Khanh TO,你可以看到任何理由,location.reload不會在這種情況下工作,我糾正了錯誤,它不工作。你的答案中的第一行是什麼意思 - 意思是「重寫?」 –
@Rob Myrick:我的意思是你將「language_name」設置爲一個清空它的空值。 –
謝謝。是的,我糾正了這一點,但仍然無法正常工作。 Cookie實際上保存了值,但不知何故,這不適用於谷歌翻譯 –