jquery可视化网站优化器代码

标签 jquery web optimization

我有一个来自可视化网站优化器的 JavaScript 代码,它将被放置在 HTML 标题上:

var _vwo_code=(function(){
var account_id=7237,
settings_tolerance=2000,
library_tolerance=1500,
use_existing_jquery=true,
// DO NOT EDIT BELOW THIS LINE
f=false,d=document;return{use_existing_jquery:function(){return use_existing_jquery;},library_tolerance:function(){return library_tolerance;},finish:function(){if(!f){f=true;var a=d.getElementById('_vis_opt_path_hides');if(a)a.parentNode.removeChild(a);}},finished:function(){return f;},load:function(a){var b=d.createElement('script');b.src=a;b.type='text/javascript';b.innerText;b.onerror=function(){_vwo_code.finish();};d.getElementsByTagName('head')[0].appendChild(b);},init:function(){settings_timer=setTimeout('_vwo_code.finish()',settings_tolerance);this.load('//dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(d.URL)+'&r='+Math.random());var a=d.createElement('style'),b='body{opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;}',h=d.getElementsByTagName('head')[0];a.setAttribute('id','_vis_opt_path_hides');a.setAttribute('type','text/css');if(a.styleSheet)a.styleSheet.cssText=b;else a.appendChild(d.createTextNode(b));h.appendChild(a);return settings_timer;}};}());_vwo_settings_timer=_vwo_code.init();

但我只想在这种情况下运行此代码:

$(document).ready(function(){
  if($('#selectedLang').val() == 'en_US')
  {
    //run the visual website optimizer code
  }
});

我尝试了此操作,但返回错误“_vwo_code 未定义”

$(document).ready(function(){
  if($('#selectedLang').val() == 'en_US')
  {
    var _vwo_code=(function(){
    var account_id=7237,
    settings_tolerance=2000,
    library_tolerance=1500,
    use_existing_jquery=true,
    // DO NOT EDIT BELOW THIS LINE
    f=false,d=document;return{use_existing_jquery:function(){return use_existing_jquery;},library_tolerance:function(){return library_tolerance;},finish:function(){if(!f){f=true;var a=d.getElementById('_vis_opt_path_hides');if(a)a.parentNode.removeChild(a);}},finished:function(){return f;},load:function(a){var b=d.createElement('script');b.src=a;b.type='text/javascript';b.innerText;b.onerror=function(){_vwo_code.finish();};d.getElementsByTagName('head')[0].appendChild(b);},init:function(){settings_timer=setTimeout('_vwo_code.finish()',settings_tolerance);this.load('//dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(d.URL)+'&r='+Math.random());var a=d.createElement('style'),b='body{opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;}',h=d.getElementsByTagName('head')[0];a.setAttribute('id','_vis_opt_path_hides');a.setAttribute('type','text/css');if(a.styleSheet)a.styleSheet.cssText=b;else a.appendChild(d.createTextNode(b));h.appendChild(a);return settings_timer;}};}());_vwo_settings_timer=_vwo_code.init();
  }
});

请帮我解决这个问题?提前致谢!

最佳答案

VWO 需要的是使 _vwo_code 变量在全局范围内可用,但当您在文档就绪处理程序中定义它时,它仍保留在本地范围内,因此无法在外部访问。

所以要解决这个问题,你可以这样写

window._vwo_code=(function(){

而不是

var _vwo_code=(function(){

但请记住,现在 VWO 代码在文档准备好后运行,您可能会在测试页面上看到闪烁(应用更改之前显示的原始内容)。

(注:我在 VWO 工作)

关于jquery可视化网站优化器代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12978913/

相关文章:

javascript - 如何在准备好 angularjs 的 $rootScope 上注册一个函数

jquery - 尝试针对 Canvas 中某些颜色的百分比优化算法

Jquery $(this) 子选择器

forms - 在 Web 表单中保存项目列表的正确方法是什么?

html - 为什么我的 html 文件在上传时不再使用我的 css 文件?

ios - 我如何避免厄运金字塔 - iOS?

java - 为 Javafx 程序分配更多 VRAM

javascript - 有没有更聪明的方法来替换这个 CSS 列 JS?

html - 如何让图片和文字并排 float

optimization - 最佳固定矩形区域适合点