有没有人尝试在单个应用页面上实现谷歌可信商店徽章?
我的徽章出现在我第一次访问该页面时,但是当我转到另一个页面时,例如产品详细信息页面,徽章就会消失。
我在谷歌上找不到任何关于它的参考资料。
有没有人尝试在单个应用页面上实现谷歌可信商店徽章?
我的徽章出现在我第一次访问该页面时,但是当我转到另一个页面时,例如产品详细信息页面,徽章就会消失。
我在谷歌上找不到任何关于它的参考资料。
这里同样的问题。我通读了 Google Trusted Stores 插入的脚本,他们没有提供任何公共方法来重新初始化脚本,也没有提供销毁方法来恢复他们已经对您的文档所做的更改。
作为一个肮脏的最后手段,您可以手动删除徽章和以前的脚本,然后再次包含该脚本以使其重新运行。这里有一个小警告......脚本第一次运行时,它会在窗口对象上创建一个只读属性,window.GoogleTrustedStore
. 如果定义了该属性,该脚本将不会再次运行。
如果您在 Google 的脚本之前定义它,您可以防止将该属性配置为只读。这是所有这一切的一个例子:
// Define object as configurable before Google Trusted Stores locks it.
// Need to be able to overwrite this property later to re-initiliaze the script.
Object.defineProperty(window, 'GoogleTrustedStore', {configurable: true});
var gts = window.gts || [];
gts.push(["locale", "en_US"]);
// ... finish defining your gts options
// Insert the GTS script to run it:
(function() {
const script = document.createElement("script");
script.src = "//www.googlecommerce.com/trustedstores/api/js";
const s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(script, s);
})();
// Using timeout for demonstration purposes
setTimeout(function(){
// Dirty example of destroying the existing badge
var dirtyDestroy = document.querySelectorAll('#gts-comm, #gts-c, script[src^="http://www.googlecommerce.com"], script[src^="https://www.googlecommerce.com"], script[src^="http://www.gstatic.com/trustedstores"], script[src^="https://www.gstatic.com/trustedstores"]');
[].slice.call(dirtyDestroy,0).forEach(function(el){el.parentNode.removeChild(el)});
// Reset window.GoogleTrustedStore
Object.defineProperty(window, 'GoogleTrustedStore', {value: undefined});
// Insert the script again to re-run it:
(function() {
const script = document.createElement("script");
script.src = "//www.googlecommerce.com/trustedstores/api/js";
const s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(script, s);
})();
}, 5000);