解析 XML 时出错,第 337 行,第 62 列:对实体“appId”的引用必须以“;”结尾分隔符[重复]

Posted

技术标签:

【中文标题】解析 XML 时出错,第 337 行,第 62 列:对实体“appId”的引用必须以“;”结尾分隔符[重复]【英文标题】:Error parsing XML, line 337, column 62: The reference to entity "appId" must end with the ';' delimiter [duplicate] 【发布时间】:2014-06-28 08:39:47 【问题描述】:

我正在尝试使用 javascript SDK 将 facebook 登录添加到我的网站。

    <script>(function(d, s, id) 
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src =     "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=1502856099942926&version=v2.0";
  fjs.parentNode.insertBefore(js, fjs);
    (document, 'script', 'facebook-jssdk'));
    </script>

当我添加上述代码并将其保存到我的网站代码时,出现错误: 解析 XML 时出错,第 337 行,第 62 列:对实体“appId”的引用必须以“;”结尾分隔符。

如何摆脱这个错误?

【问题讨论】:

【参考方案1】:

试试这个

<script>
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src =     &quot;//connect.facebook.net/en_US/sdk.js#xfbml=1&amp;appId=1502856099942926&amp;version=v2.0&quot;;
  fjs.parentNode.insertBefore(js, fjs);
    (document, &#039;script&#039;, &#039;facebook-jssdk&#039;));
</script>

【讨论】:

太棒了.. 工作正常 :) 谢谢 @user3564495 :很高兴它帮助了你 :-)【参考方案2】:

尝试用 & 替换 url 中的 & 字符,看看是否有区别。

【讨论】:

【参考方案3】:

在您的代码前添加以下代码

window.fbAsyncInit = function() 
    FB.init(
      appId      : 'your-app-id', // App ID
      status     : true, // login status
      xfbml      : true  // parse XFBML          
      cookie     : true, // enable cookies

    );
  ;

希望这会有所帮助!

【讨论】:

这也显示了同样的错误【参考方案4】:

而不是像这样将所有内容放在一个表达式中:

js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=1502856099942926&version=v2.0";

使用 FB.init 函数,这样引号不会有任何问题。

只需像这样放置您自己的配置:

<!-- facebook -->
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() 
    FB.init(
      appId      : 'YOU_APP_ID', // App ID
      xfbml      : true, // parse XFBML
      version    : 'v2.0' // sdk version           
    );
    // Additional initialization code here
  ;
  // Load the SDK Asynchronously
  (function(d, s, id)
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) return;
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   (document, 'script', 'facebook-jssdk'));
</script>
<!-- /facebook -->

参考(详细信息):https://developers.facebook.com/docs/javascript/quickstart/v2.0

【讨论】:

【参考方案5】:

如果您使用的是 Blogger,请使用 Blogger html 转换器。它与 fb 的推荐提要一起为我工作。 原件:

    <div id="fb-root"></div>
<script>(function(d, s, id) 
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&appId=[APP ID]&version=v2.0";
  fjs.parentNode.insertBefore(js, fjs);
(document, 'script', 'facebook-jssdk'));</script>

翻译后的前:

&lt;div id=&quot;fb-root&quot;&gt;&lt;/div&gt;
&lt;script&gt;(function(d, s, id) 
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = &quot;//connect.facebook.net/en_US/sdk.js#xfbml=1&amp;appId=[APP ID]&amp;version=v2.0&quot;;
  fjs.parentNode.insertBefore(js, fjs);
(document, &#039;script&#039;, &#039;facebook-jssdk&#039;));&lt;/script&gt;

【讨论】:

【参考方案6】:

亲爱的,很简单。 问题是您在 facebook 上生成 facebook 应用程序时选择了 HTML5。只需单击“IFRAME”,您的问题就解决了。 :) 有关更多信息,请参见屏幕截图。 here is screenshot

【讨论】:

【参考方案7】:

试试这个:

//<![CDATA[
paste your plugin code here
//]]>

【讨论】:

以上是关于解析 XML 时出错,第 337 行,第 62 列:对实体“appId”的引用必须以“;”结尾分隔符[重复]的主要内容,如果未能解决你的问题,请参考以下文章

android.view.InflateException:二进制 XML 文件第 15 行:二进制 XML 文件第 19 行:膨胀类片段时出错

当我切换到包含片段的活动时应用程序崩溃(二进制 XML 文件第 10 行:二进制 XML 文件第 10 行:膨胀类片段时出错)

Google Map API 问题:android.view.InflateException:二进制 XML 文件第 2 行:二进制 XML 文件第 2 行:膨胀类片段时出错

二进制 XML 文件第 0 行:膨胀类 <unknown> 时出错

二进制 XML 文件第 7 行:膨胀类时出错

二进制 XML 文件第 13 行:膨胀类片段时出错