首页 > 解决方案 > JavaScript 执行适用于 Chrome 而不是 WordPress

问题描述

我在 Chrome 控制台开发工具中运行此代码,它可以工作:

const params = new URLSearchParams(window.location.search);

if (window.location.href.indexOf("Phone") != -1) {
  $('.test111232 a').attr('href', 'tel:1 ' + params.get('Phone'));
}

if (window.location.href.indexOf("state") != -1) {
  $('.test111232234 a').attr('href', 'https://www.example.com/ddd?state=' + params.get('state'));
}

但是,当我使用 Elementor HTML 小部件将页面保存在 WordPress 上时,它只会更改页面上的第一个数字。

有任何想法吗?

标签: javascriptjquerywordpresselementor

解决方案


好的,所以基本上修复错误的方法是添加以下内容:

$(document).ready(function()

在上面的代码之前,所以它看起来像这样:

<script>
$(document).ready(function() {
const params = new URLSearchParams(window.location.search);

if (window.location.href.indexOf("Phone") != -1) {
  $('.test111232 a').attr('href', 'tel:1 ' + params.get('Phone'));
}

if (window.location.href.indexOf("state") != -1) {
  $('.test111232234 a').attr('href', 'https://www.example.com/ddd?state=' + params.get('state'));
}
});
</script>

可能相关的一个方面。我有一个旧版本的 elementor pro,它可能会影响通过 html 小部件加载 js。

我有脚本打开和关闭标签,但由于某种原因它想要这个功能,然后它就起作用了。可能这就是它应该首先出现的方式。


推荐阅读