Javascript 如何在小部件外部调用变量
您好,我有一个带有javascript代码的html小部件和一个名为Javascript 如何在小部件外部调用变量,javascript,jquery,html,blogger,Javascript,Jquery,Html,Blogger,您好,我有一个带有javascript代码的html小部件和一个名为snapAuthor的变量,但是当我调用该变量时,控制台告诉我它没有找到它,这是工具代码: <b:widget id='LinkList7' locked='false' title='Joker Template' type='LinkList' visible='true'> <b:includable id='AUTH'><b:if cond='data:widget.instanceId =
snapAuthor
的变量,但是当我调用该变量时,控制台告诉我它没有找到它,这是工具代码:
<b:widget id='LinkList7' locked='false' title='Joker Template' type='LinkList' visible='true'>
<b:includable id='AUTH'><b:if cond='data:widget.instanceId == "LinkList500"'><b:tag name='script' type='text/javascript'><b:loop values='data:links' var='link'>AuthorsInfo['<data:link.name/>']='<data:link.target.jsEscaped/>';</b:loop></b:tag><b:else/>
<b:tag name='script' type='text/javascript'>
(function(){var snapAuthor=AuthorsInfo.filter(function(a){return a.name==='<data:title/>'})[0];
if(snapAuthor!==undefined){snapAuthor.provided=true;
<b:loop values='data:links' var='link'>
<b:if cond='data:link.name contains "-ad"'>
snapAuthor['<data:link.name/>']='<data:link.target.jsEscaped/>';
<b:else/>
<b:switch var='data:link.name'>
<b:case value='rank'/>snapAuthor.rank='<data:link.target.escaped/>';
<b:case value='about'/>snapAuthor.about='<data:link.target.escaped/>';
<b:default/>snapAuthor.links['<data:link.name/>']='<data:link.target/>';
</b:switch></b:if></b:loop>}})();</b:tag></b:if>
<b:tag name='script' type='text/javascript'>
console.log(snapAuthor);
</b:tag>
</b:includable>
</b:widget>
AuthorsInfo[';';]='';
(function(){var snapAuthor=AuthorsInfo.filter(function(a){返回a.name==';';})[0];
if(snapAuthor!==未定义){snapAuthor.provided=true;
snapAuthor[';';]=';';;
snapAuthor.rank=&39;&39;;
snapAuthor.about=';';;
snapAuthor.links[';';]=';';;
}})();
console.log(snapAuthor);
请注意,我想从页面上的其他地方调用变量,但控制台告诉我它没有找到它…在代码中使用(function(){})(
)可以防止变量在其范围之外可见
试试这个
AuthorsInfo['']='';
var snapAuthor=AuthorsInfo.filter(函数(a){returna.name==''})[0];
if(snapAuthor!==未定义){snapAuthor.provided=true;
snapAuthor['']='';
snapAuthor.rank='';
snapAuthor.about='';
snapAuthor.links['']='';
}
console.log(snapAuthor);
但如何使变量在其范围之外可见?无法做到这一点,函数变量以函数执行开始和结束。