无法使用 Google 代码在 'DOMWindow' 上执行 'postMessage'
Failed to execute 'postMessage' on 'DOMWindow' using Google code
我想在我的网站上添加 Google+ 徽章。当我从 Google 配置工具 copy/paste 编码时,徽章不起作用。我认为问题可能出在 JavaScript 所以我创建了一个空的 index.html 和 copy/paste Google 代码...但它仍然不起作用:
Google代码:
<!-- Place this tag in your head or just before your close body tag. -->
<script src="https://apis.google.com/js/platform.js" async defer></script>
<!-- Place this tag where you want the widget to render. -->
<div class="g-page" data-width="250" data-href="https://plus.google.com/110789175777197362579" data-theme="dark" data-rel="publisher"></div>
已满 HTML index.html
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
<!-- Place this tag where you want the widget to render. -->
<div class="g-page" data-width="250" data-href="https://plus.google.com/110789175777197362579" data-theme="dark" data-rel="publisher"></div>
<!-- Place this tag in your head or just before your close body tag. -->
<script src="https://apis.google.com/js/platform.js" async defer></script>
</body>
</html>
在控制台中我可以看到以下错误:
- 无法在 'DOMWindow' 上执行 'postMessage':提供的目标来源 ('null') 与收件人 window 的来源 ('null' ).人
- 不推荐使用 getAttributeNode()。请改用 getAttribute() 。 rs=AGLTcCOasCY_GkJWPJtHt2mUGUYuzPzTCg%20line%209%20%3E%20eval:34:434
- 无法在 'DOMWindow' 上执行 'postMessage':提供的目标来源 ('null') 与收件人 window 的来源 ('null' ).人
- 无法在 'DOMWindow' 上执行 'postMessage':提供的目标来源 ('null') 与收件人 window 的来源 ('null' ). postmessageRelay
- 无法在 'DOMWindow' 上执行 'postMessage':提供的目标来源 ('null') 与收件人 window 的来源 ('null' ). postmessageRelay
- 无法在 'DOMWindow' 上执行 'postMessage':提供的目标来源 ('null') 与收件人 window 的来源 ('null' ). postmessageRelay
- 无法在 'DOMWindow' 上执行 'postMessage':提供的目标来源 ('null') 与收件人 window 的来源 ('null' ). postmessageRelay
- 无法在 'DOMWindow' 上执行 'postMessage':提供的目标来源 ('null') 与收件人 window 的来源 ('null' ). postmessageRelay
- 无法在 'DOMWindow' 上执行 'postMessage':提供的目标来源 ('null') 与收件人 window 的来源 ('null' ). postmessageRelay
问题可能是 Google+ 徽章可能需要您 运行 通过网络服务器而不是通过文件系统在本地查看代码。
不要只打开 HTML 文件,而是尝试使用 Web 服务器托管它。这里有很多选择。如果你安装了 Python,你可以尝试 运行ning:
cd [directory where file is located]
python -m SimpleHTTPServer 8080
然后在网络浏览器中查看 http://localhost:8080
我认为这可能是问题所在的原因是,当 运行 在本地将其从文件系统中删除时,我也会遇到错误(虽然与您的错误不同),但是当我通过网络查看它时浏览器,它工作正常,像这样:
我想在我的网站上添加 Google+ 徽章。当我从 Google 配置工具 copy/paste 编码时,徽章不起作用。我认为问题可能出在 JavaScript 所以我创建了一个空的 index.html 和 copy/paste Google 代码...但它仍然不起作用:
Google代码:
<!-- Place this tag in your head or just before your close body tag. -->
<script src="https://apis.google.com/js/platform.js" async defer></script>
<!-- Place this tag where you want the widget to render. -->
<div class="g-page" data-width="250" data-href="https://plus.google.com/110789175777197362579" data-theme="dark" data-rel="publisher"></div>
已满 HTML index.html
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
<!-- Place this tag where you want the widget to render. -->
<div class="g-page" data-width="250" data-href="https://plus.google.com/110789175777197362579" data-theme="dark" data-rel="publisher"></div>
<!-- Place this tag in your head or just before your close body tag. -->
<script src="https://apis.google.com/js/platform.js" async defer></script>
</body>
</html>
在控制台中我可以看到以下错误:
- 无法在 'DOMWindow' 上执行 'postMessage':提供的目标来源 ('null') 与收件人 window 的来源 ('null' ).人
- 不推荐使用 getAttributeNode()。请改用 getAttribute() 。 rs=AGLTcCOasCY_GkJWPJtHt2mUGUYuzPzTCg%20line%209%20%3E%20eval:34:434
- 无法在 'DOMWindow' 上执行 'postMessage':提供的目标来源 ('null') 与收件人 window 的来源 ('null' ).人
- 无法在 'DOMWindow' 上执行 'postMessage':提供的目标来源 ('null') 与收件人 window 的来源 ('null' ). postmessageRelay
- 无法在 'DOMWindow' 上执行 'postMessage':提供的目标来源 ('null') 与收件人 window 的来源 ('null' ). postmessageRelay
- 无法在 'DOMWindow' 上执行 'postMessage':提供的目标来源 ('null') 与收件人 window 的来源 ('null' ). postmessageRelay
- 无法在 'DOMWindow' 上执行 'postMessage':提供的目标来源 ('null') 与收件人 window 的来源 ('null' ). postmessageRelay
- 无法在 'DOMWindow' 上执行 'postMessage':提供的目标来源 ('null') 与收件人 window 的来源 ('null' ). postmessageRelay
- 无法在 'DOMWindow' 上执行 'postMessage':提供的目标来源 ('null') 与收件人 window 的来源 ('null' ). postmessageRelay
问题可能是 Google+ 徽章可能需要您 运行 通过网络服务器而不是通过文件系统在本地查看代码。
不要只打开 HTML 文件,而是尝试使用 Web 服务器托管它。这里有很多选择。如果你安装了 Python,你可以尝试 运行ning:
cd [directory where file is located]
python -m SimpleHTTPServer 8080
然后在网络浏览器中查看 http://localhost:8080
我认为这可能是问题所在的原因是,当 运行 在本地将其从文件系统中删除时,我也会遇到错误(虽然与您的错误不同),但是当我通过网络查看它时浏览器,它工作正常,像这样: