Javascript中的语法错误?(正在尝试动态加载facebook javascript sdk)
下面的代码对我来说似乎有效;我真的有语法错误吗?在控制台中运行此代码:Javascript中的语法错误?(正在尝试动态加载facebook javascript sdk),javascript,jquery,facebook-graph-api,Javascript,Jquery,Facebook Graph Api,下面的代码对我来说似乎有效;我真的有语法错误吗?在控制台中运行此代码: $("body").append($("<script />", { html: " window.fbAsyncInit = function() { "+ " FB.init({"+ " appId : '[valid_id]', // App ID"+ " status : true, // check login status"+ " cooki
$("body").append($("<script />", {
html: " window.fbAsyncInit = function() { "+
" FB.init({"+
" appId : '[valid_id]', // App ID"+
" status : true, // check login status"+
" cookie : true, // enable cookies to allow the server to access the session"+
" xfbml : true // parse XFBML"+
" });"+
" };"+
" (function(d){"+
" var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];"+
" if (d.getElementById(id)) {return;}"+
" js = d.createElement('script'); js.id = id; js.async = true;"+
" js.src = 'https://connect.facebook.net/en_US/all.js';"+
" ref.parentNode.insertBefore(js, ref);"+
" }(document));"
}));
$(“body”).append($(“”){
html:“window.fbAsyninit=function(){”+
“FB.init({”+
appId:“[有效的\u id],//应用id”+
状态:true,//检查登录状态+
cookie:true,//启用cookie以允许服务器访问会话+
“xfbml:true//parse xfbml”+
" });"+
" };"+
“(职能(d){”+
var js,id='facebook jssdk',ref=d.getElementsByTagName('script')[0]+
“如果(d.getElementById(id)){return;}”+
“js=d.createElement('script');js.id=id;js.async=true;”+
“js.src=”https://connect.facebook.net/en_US/all.js';"+
ref.parentNode.insertBefore(js,ref)+
“}(文件));”
}));
返回:
SyntaxError:输入意外结束
看了一会儿,很明显;-) 所有串接的字符串部分最终都会执行到JavaScript代码的一行,因此您不能在其中使用
//注释
,因为它们会转到何处?没错,这条线的尽头
要么完全去掉注释,要么使用/*注释*/
语法。最后,有人注意到了!:-)哦,并且忘记了第三个选项:在包含//注释的每个字符串的末尾\n放一个换行符也应该有效…