vqmod设置cookie来改变谷歌翻译

时间:2015-07-04 21:10:21

标签: javascript php jquery cookies google-translate

我已经挣扎了好几天...... 使用vQmod文件的MVC模式。 我正在尝试使用谷歌翻译以编程方式在翻译语言之间切换 代码:
vqMod文件(同时加载js.cookie.js, googTrans.js,jquery.cookie.js
此vqmod修改header.php controller

$l = $this->session->data['language'];
setcookie("googtrans", "", time()-3600); // kill cookie
setcookie("googtrans", "/en/" . $l); // set new one - does not work
setcookie("SETCOOKIE", "" . $l); // this actually worx

设置第一次cookie,但之后不会重写cookie

尝试使用jQuery.cookie.js / js.cookie.js更改Cookie:
使用相同的vQmod文件修改header.tpl

<?php echo "<script type='text/javascript'>
$.cookie('googtrans', '/en/" . $this->session->data['language'] . "');
</script>";?>

在加载googTrans.js或致电//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit

之前

googTrans.js

function googleTranslateElementInit() {
  new google.translate.TranslateElement({
    pageLanguage: 'en', 
    includedLanguages: 'fr,ru', 
    layout: google.translate.TranslateElement.InlineLayout.HORIZONTAL, 
    multilanguagePage: true, 
    gaTrack: true, 
    gaId: 'UA-XXXXX-X'},
  'google_translate_element');
}

没有运气...... :-( 有任何想法吗??什么时候写cookie?来自header.php或header.tpl?为什么php没有改变cookie或者那个问题也没有jQuery ... 怎么去呢? 如果您需要更多信息,我会更乐意回复。 感谢名单

1 个答案:

答案 0 :(得分:0)

Thanx @Tatos ......你指出我正确的方向。 在我的案例中的解决方案是:

Cookies.remove('googtrans',{path:'', domain: 'domainNameNoDot.com'});
Cookies.remove('googtrans',{path:'', domain: '.domainNamePrecedDot.com'});
Cookies.set('googtrans', '/en/" . $this->session->data['language'] . "',{path:''});