我最近一直在使用一些代码,允许人们在以英镑货币使用我们的网站时使用 Paypal Express Checkout 付款,但我不希望他们在使用欧元、美元或任何其他货币时使用该选项货币。
在我使用的自定义 CSS 中
.paypalbutton {display: none !important;}
然后在我使用的 Javascript/Jquery 中
window.setInterval(function(){
if (jQuery(".currency-selector:contains('GBP')").length) {
jQuery(".paypalbutton").attr('style', 'display: inline-block !important');
} 1000});
我这样做的原因是因为 Paypal 按钮是用 PHP 动态加载的。由于某种原因,.on 和 .live 似乎不起作用。
现在这在 Google Chrome 中完美运行,这是我一直在测试的。但由于某种原因,这在 Firefox 中不起作用(尚未测试其他浏览器)。所以我的问题是,为什么它不能在 Firefox 中运行?
感谢您的帮助。
更多信息:
当在控制台中输入代码时,在 Firefox 中似乎没有任何问题,只是在“GBP”上应该显示的 paypal 按钮在 Firefox 中没有显示,但在 Chrome 中显示。
Chrome 有:
.paypalbutton {display: inline-block !important}
<strike>.paypalbutton {display: none !important}</strike>
Firefox 有:
.paypalbutton {display: none !important}
<strike>.paypalbutton {display: inline-block !important}</strike>
最佳答案
您在定义 setInterval
函数时出错
尝试如下:
window.setInterval(function(){
if(jQuery(".currency-selector:contains('GBP')").length){
jQuery(".paypalbutton").attr('style', 'display: inline-block !important');
/*jQuery(".paypalbutton").css({
'display' : 'inline-block !important'
});*/
}
},1000);
Note :
Console
your output from both browsers. Check if there is anyScript Error
. Check if Javascriptdisabled/not supported
by browser.
这是setInterval
函数语法
window.setInterval(myCallbackFunction, DurationInMilliseconds);
示例:
var intervalID = window.setInterval(myCallback, 500);
function myCallback() {
// Your code here
}
More details about setInterval() function. And jQuery Browser Support
关于Javascript/jQuery 在 Chrome 中完美运行,但在 Firefox 中运行不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43068148/