有人可以向我解释为什么下面的代码不起作用?我复制了Google的代码,我需要" onshare"我不相信的设施可通过标准HTML获得。没有JS错误 - 没有任何反叛:
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<script src="https://apis.google.com/js/platform.js" async defer></script>
</head>
<body>
<h1 style="font-family:arial;font-size:15px;">google_test</h1> <div id="sharePost"></div>
<script>
var options = {
contenturl: 'https://plus.google.com/pages/',
contentdeeplinkid: '/pages',
clientid: 'YOUR ID HERE',
cookiepolicy: 'single_host_origin',
prefilltext: 'Create your Google+ Page too!',
calltoactionlabel: 'CREATE',
calltoactionurl: 'http://plus.google.com/pages/create',
calltoactiondeeplinkid: '/pages/create',
onshare: function(response){
alert(response);
}
};
gapi.interactivepost.render('sharePost', options);
</script>
</body>
</html>
经过一番调查(5/1/15)后,我发现在响应中(萤火虫中的网络面板)我在隐藏的文本框中收到错误。这是因为我的原始网址错了,但现在我得到以下内容:
<input type="hidden" id="error" value="true" />
<input type="hidden" id="response-form-encoded" value="state=887621045%7C0.2365188186&error=immediate_failed&num_sessions=1&session_state=MY_SESSION_ID" />
知道这可能意味着什么吗?
答案 0 :(得分:0)
您使用异步延迟加载Google API。因此,在创建共享链接时它尚未就绪。
您应该仅在加载页面后使用domready事件呈现共享链接,或者删除“异步延迟”#39;属性。
答案 1 :(得分:0)
答案很简单 - 感谢http://wheresgus.com/iodemos/demotargetipost/帮助我看到它。在上面的例子中,
<div id="sharePost"></div>
只需要这样的内容:
<div id="sharePost"><button>hello world</button></div>
事实上,你甚至不需要按钮!为什么文档没有这个我不知道 - 所以报告文档不是很好。另外你应该注意callbackurl和calltoactionurl都需要相同的协议 - 他们的例子也不同。