Javascript/jQuery在Chrome中工作得很好,但在Firefox中却不行
我最近一直在使用一些代码,允许人们在使用我们网站的英镑货币时使用Paypal Express Checkout进行支付,但我不希望在使用欧元、美元或任何其他货币时使用该选项 在我的自定义CSS中,我使用了Javascript/jQuery在Chrome中工作得很好,但在Firefox中却不行,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我最近一直在使用一些代码,允许人们在使用我们网站的英镑货币时使用Paypal Express Checkout进行支付,但我不希望在使用欧元、美元或任何其他货币时使用该选项 在我的自定义CSS中,我使用了 .paypalbutton {display: none !important;} window.setInterval(function(){ if (jQuery(".currency-selector:contains('GBP')").length) { jQuery(".p
.paypalbutton {display: none !important;}
window.setInterval(function(){
if (jQuery(".currency-selector:contains('GBP')").length) {
jQuery(".paypalbutton").attr('style', 'display: inline-block !important');
} 1000});
然后在我的Javascript/Jquery中,我使用了
.paypalbutton {display: none !important;}
window.setInterval(function(){
if (jQuery(".currency-selector:contains('GBP')").length) {
jQuery(".paypalbutton").attr('style', 'display: inline-block !important');
} 1000});
我之所以这样做是因为Paypal按钮是用PHP动态加载的。由于某种原因,生活似乎不起作用
现在这在Google Chrome上非常有效,这也是我一直在测试的。但由于某些原因,这在Firefox中不起作用(尚未测试其他浏览器)。所以我的问题是,为什么它不能在Firefox中工作
谢谢你的帮助
更多信息:
当在控制台中输入代码时,firefox中的代码似乎没有任何问题,只是在“GBP”上应该显示的paypal按钮在firefox中没有显示,但在chrome中显示
Chrome具有:
.paypalbutton {display: inline-block !important}
<strike>.paypalbutton {display: none !important}</strike>
.paypalbutton{显示:内联块!重要}
.paypalbutton{显示:无!重要}
Firefox有:
.paypalbutton {display: none !important}
<strike>.paypalbutton {display: inline-block !important}</strike>
.paypalbutton{显示:无!重要}
.paypalbutton{显示:内联块!重要}
定义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);
var intervalID = window.setInterval(myCallback, 500);
function myCallback() {
// Your code here
}
注意:控制台
两种浏览器的输出。检查是否存在任何脚本错误
。检查浏览器是否禁用/不支持Javascript
以下是setInterval
函数语法
window.setInterval(myCallbackFunction, DurationInMilliseconds);
示例:
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);
var intervalID = window.setInterval(myCallback, 500);
function myCallback() {
// Your code here
}
有关函数的更多详细信息。及
定义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);
var intervalID = window.setInterval(myCallback, 500);
function myCallback() {
// Your code here
}
注意:控制台
两种浏览器的输出。检查是否存在任何脚本错误
。检查浏览器是否禁用/不支持Javascript
以下是setInterval
函数语法
window.setInterval(myCallbackFunction, DurationInMilliseconds);
示例:
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);
var intervalID = window.setInterval(myCallback, 500);
function myCallback() {
// Your code here
}
有关函数的更多详细信息。及
什么不起作用?计时器不响了吗?它会开火但找不到元素吗?它是否会激发并找到元素,但不会更改样式
属性?这里的第一步是调试,使用Firefox内置的强大调试器。.currency selector
元素是什么?正如Sumon Sarker指出的,该代码在1000
之前缺少一个逗号,这意味着它在Chrome中也无法工作。@t.J.Crowder。currency selector是按钮中的一个span。因此,正如我们所知,它的工作原理是:请用a更新问题并解决上面评论中的各种问题,或者将其删除。到目前为止,我们无法帮助您获得所提供的信息(除了指出您的web控制台上面告诉您的拼写错误,如果它们确实在您的代码中的话)。什么不起作用?计时器不响了吗?它会开火但找不到元素吗?它是否会激发并找到元素,但不会更改样式
属性?这里的第一步是调试,使用Firefox内置的强大调试器。.currency selector
元素是什么?正如Sumon Sarker指出的,该代码在1000
之前缺少一个逗号,这意味着它在Chrome中也无法工作。@t.J.Crowder。currency selector是按钮中的一个span。因此,正如我们所知,它的工作原理是:请用a更新问题并解决上面评论中的各种问题,或者将其删除。我们无法帮助您了解到目前为止提供的信息(除了指出您的web控制台在上面告诉您的拼写错误,如果它们真的存在于您的代码中的话)。这就像是一个发现差异的游戏。说一下你改变了什么,以及为什么。但更重要的是:如果代码在Chrome中运行,我们知道丢失的逗号只是问题中的一个输入错误,而不是他们真正的代码——因为如果逗号真的丢失了,Chrome和Firefox中都会出错。@sumonsaker如果我正确阅读了你的注释,我会尝试使用window.setInterval(function(){if(jQuery(“.currency selector:contains('GBP')”).length){jQuery(.paypalbutton”).css({'display':'inline block!important');}}},1000);这不起作用,给了我一个错误:Uncaught SyntaxError:Unexpected token),还有:var intervalID=window.setintervalid(myCallback,1000);function myCallback(){if(jQuery(“.currency selector:contains('GBP')”).length){jQuery('paypalbutton').attr('style','display:inline block!important');}1000});Opps!我错过了}
。答案现已更新。请查收@DM98@SumonSarker啊。谢谢我现在尝试了:window.setInterval(function(){if(jQuery(“.currency selector:contains('GBP')”).length){jQuery(.paypalbutton”).css({'display':'inline block!important'});}},1000);它不会返回任何错误,但也不会在Chrome或Firefox中显示该类。{display:inline block!important}不在inspect中。这看起来像是一个发现差异的游戏。说一下你改变了什么,以及为什么。但更重要的是:如果代码在Chrome中运行,我们知道丢失的逗号只是问题中的一个输入错误,而不是他们真正的代码——因为如果逗号真的丢失了,Chrome和Firefox中都会出错。@sumonsaker如果我正确阅读了你的注释,我会尝试使用window.setInterval(function(){if(jQuery(“.currency selector:contains('GBP')”).length){jQuery(.paypalbutton”).css({'display':'inline block!important');}}},1000);这不起作用,给了我一个错误:Uncaught SyntaxError:Unexpected token),还有:var intervalID=window.setintervalid(myCallback,1000);function myCallback(){if(jQuery(“.currency selector:contains('GBP')”)。长度){jQuery('paypalbutton”).attr('style','display: