xiao9469 发表于 2023-4-23 10:52:41

增加的分享按纽不显示

试了二天了,在内容页default/forum/viewthread_node.html 里添加百度分享按纽,这代码放在哪里都不显示。



<i class="bdsharebuttonbox">
            <a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间"></a>
            <a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"></a>
      </i>
            <script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"32"},"share":{}};with(document)0[(getElementsByTagName('head')||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>


有人说百度这个分享不起作用了,我原本在手机版里添加的,象新郎这些无效的直接删除,保留QQ空间与微信二个。
好不容易找到了页面放置的地方,可是怎么也不显示。
但是,在打开手机版浏览测试时,从手机版再打开电脑端,手机里却能正常显示,就电脑端不行。

这又是个什么样的新问题,求指点一二。


我知道答案 回答被采纳将会获得1 贡献 已有0人回答

Discuz智能体 发表于 2025-3-18 03:17:52

你好,关于你在Discuz论坛内容页添加百度分享按钮不显示的问题,这里有几个可能的原因和解决方案:

1. **代码放置位置**:确保你的代码放置在正确的位置。在`viewthread_node.html`模板中,通常应该放在`<!--{if !empty($post['message'])}-->`标签之后,这样可以确保在帖子内容加载后再加载分享按钮。

2. **JavaScript加载问题**:你提供的JavaScript代码是用来动态加载百度分享的脚本。确保这段代码在页面加载时能够正确执行。你可以尝试将这段代码放在页面的底部,确保在DOM加载完成后再执行。

3. **浏览器缓存**:有时候浏览器缓存可能会导致新添加的代码不生效。尝试清除浏览器缓存或使用无痕模式查看页面。

4. **百度分享服务问题**:如果百度分享服务本身有问题,可能会导致按钮不显示。你可以尝试使用其他分享服务,或者检查百度分享的官方文档,看看是否有更新或维护的通知。

5. **CSS样式冲突**:有时候CSS样式可能会影响分享按钮的显示。检查是否有CSS样式覆盖了分享按钮的显示。

6. **调试工具**:使用浏览器的开发者工具(如Chrome的DevTools)检查元素和网络请求,看看是否有错误信息或请求失败的情况。

以下是一个示例代码,展示如何在`viewthread_node.html`中正确放置百度分享的代码:

<!--{if !empty($post['message'])}-->
<div class="share-buttons">
    <script>
      window._bd_share_config = {
            "common": {
                "bdSnsKey": {},
                "bdText": "",
                "bdMini": "2",
                "bdMiniList": false,
                "bdPic": "",
                "bdStyle": "0",
                "bdSize": "32"
            },
            "share": {}
      };
      with(document) 0[(getElementsByTagName('head') || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];
    </script>
</div>
<!--{/if}-->

如果以上方法仍然无法解决问题,建议你进一步检查Discuz的模板文件和插件是否有冲突,或者考虑使用其他分享插件来替代百度分享。

希望这些建议能帮助你解决问题!如果还有其他问题,欢迎继续提问。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。

Discuz智能体 发表于 2025-3-22 00:50:45

关于内容页百度分享按钮不显示的问题,根据DZX建站经验分析可能有以下原因及解决方案:

一、代码位置问题:
1. 电脑端代码应放置在:
template/default/forum/viewthread_node.htm
查找 <!--{subtemplate common/footer}-->
在该代码上方插入分享按钮容器

2. 推荐使用更精准的嵌入点:
<div class="bm bmw sharebox">分享到:
<!--{hook/viewthread_share_method}-->
</div>

二、代码修正方案:
请替换为以下经过优化调整的代码:
<script>
window._bd_share_config = {
    common: {
      bdPopupOffsetLeft: -150,
      bdText: $('thread_subject').innerHTML,
      bdDesc: $('postmessage_$post').innerText.substr(0,140)
    },
    share: [{
      "bdSize": 24,
      "bdCustomStyle": "margin-right:5px;"
    }]
};
</script>
<script src="//bdimg.share.baidu.com/static/api/js/share.js?cdnversion=#js#"></script>

三、常见问题排查:
1. HTTPS适配问题:
- 若网站启用了SSL,需要将JS地址改为//bdimg.share.baidu.com(协议自适应)

2. 元素冲突排查:
- 检查是否有其他JS报错导致阻断执行
- 查看网页源代码确认代码已正确输出
- 使用F12开发者工具查看Network面板是否加载了share.js

3. 移动端适配建议:
如需单独处理移动端显示,可在代码外层添加判断:
<!--{if !IS_ROBOT && !$_G['mobile']}-->
分享代码
<!--{/if}-->

四、替代方案参考:
若需更稳定的分享方案,可考虑:
1. 使用社交平台官方JS SDK
2. 通过CSS3自定义分享按钮样式
3. 调用浏览器原生分享接口(navigator.share)

建议在调整后:
1. 后台更新模板缓存
2. 强制刷新浏览器缓存(Ctrl+F5)
3. 检查页面JS控制台是否有报错

该问题通常由代码位置偏差、HTTPS协议不匹配或JS加载顺序不当导致,按照上述步骤排查即可解决。若仍不生效,建议检查服务器防火墙设置是否拦截了百度域名请求。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 增加的分享按纽不显示