自定义 Javascript 在 Safari 中不起作用

Custom Javascript doesn't work in Safari?

本文关键字:不起作用 Safari Javascript 自定义      更新时间:2023-09-26

我正在一个woocommerce网站上工作,我已经购买了2个插件,以便能够自定义我的产品页面中的项目。插件演示可以在这里找到:

在此演示中,有 2 个插件,一个称为多步骤产品配置器 (MSPC),它是页面顶部的选项卡,第二个称为花式产品设计器 (FPD),它是它下面的产品显示面板。

我想使用这两个插件将它们一个相邻地显示,以避免向下滚动页面以查看使用 MSPC 插件所做的更改。

所以我几个小时以来一直在尝试自定义 css 代码,但没有成功。你可以在这里看到我的页面:我最终在我的主题的自定义 js 部分中使用了自定义 javascript 代码,该代码基本上在页面加载后的几秒钟内重新定位了包装器。

我的问题是,使用 js 代码,我在除 safari 之外的所有浏览器中都实现了我想要的东西!

这是我使用的代码:

document.onreadystatechange = function(){
 if(document.readyState === 'complete'){
     setTimeout(function () {
         var x = document.getElementsByClassName("mspc-wrapper");
         x[0].style.float = "none";
     }, 3000);
 }

}

知道为什么它在 Safari 浏览器中不起作用吗?随意尝试使用 CSS 解决此问题,但我很确定它不起作用......任何反馈非常感谢。

在我看来,您更改样式的代码是错误的:

 x[0].style.styleFloat //returns undefined

你会想要使用

x[0].style.float = 'none';

如果这不起作用,请确保 js 甚至正在运行:)

Safari 似乎不支持"完成"状态。尝试改用"已加载"(如果文档是否已完全加载或仅加载无关紧要),因为所有浏览器似乎都支持它。
参考

为了确保安全,请尝试调试它或放入控制台.log以查看 if 语句是否返回 true。

好的伙计们,

非常感谢您抽出宝贵时间对此做出回应。我所要做的就是在内容单一产品中添加一个钩子.php然后我可以用CSS代码修复它。

我最后不需要添加javascript。

感谢您的回复!