我今天遇到了ReCaptcha和IE6的一个问题,所以我会写一些有关其他问题的信息(Google上没有很多有关此问题的东西),所以我可以记住什么我将来会做。
我使用的表单是一个多阶段表单,第二部分包含对ReCaptcha函数的调用,该函数recaptcha_get_html()是我正在使用的PHP库的一部分(在本例中为1.11)。当使用IE6的用户进入此页面时,“ ReCaptcha”框丢失了,但是刷新页面后出现了该框。ReCaptcha通过从Google下载并运行一段JavaScript来工作。经过一些研究,当通过表单发布重定向到页面时,IE6似乎不会下载此JavaScript(可能会发生其他异常),但是如果直接访问或刷新后会访问。以下代码段(如果应要求从Google返回的代码):
var RecaptchaState = { site : 'xxxxxxxxxxxx', challenge : 'xxxxxxxxxxx', is_incorrect : false, programming_error : '', error_message : '', server : 'http://www.google.com/recaptcha/api/', timeout : 18000 }; document.write('<scr'+'ipt type="text/javascript" s'+'rc="' +RecaptchaState.server+ 'js/recaptcha.js"></scr'+'ipt>');
解决方案是recaptcha_get_html()使用PHP函数强制在函数中上面下载所需的JavaScript,file_get_contents()并打印出脚本中的内容。这是原始recaptcha_get_html()功能,可以recaptchalib.php在ReCaptcha库文件夹的第106行找到。
function recaptcha_get_html ($pubkey, $error = null, $use_ssl = false) { if ($pubkey == null || $pubkey == '') { die ("To use reCAPTCHA you must get an API key from <a href='https://www.google.com/recaptcha/admin/create'>https://www.google.com/recaptcha/admin/create</a>"); } if ($use_ssl) { $server = RECAPTCHA_API_SECURE_SERVER; } else { $server = RECAPTCHA_API_SERVER; } $errorpart = ""; if ($error) { $errorpart = "&error=" . $error; } return '<script type="text/javascript" xx_src="'. $server . '/challenge?k=' . $pubkey . $errorpart . '"></script> <noscript> <iframe xx_src="'. $server . '/noscript?k=' . $pubkey . $errorpart . '" height="300" width="500" frameborder="0"></iframe><br/> <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea> <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/> </noscript>'; }
下面是否在原始函数中添加了一个子句以检查用户是否正在使用IE6。如果它们是脚本,则使用下载file_get_contents()并打印出脚本。
function recaptcha_get_html ($pubkey, $error = null, $use_ssl = false) { if ($pubkey == null || $pubkey == '') { die ("To use reCAPTCHA you must get an API key from <a href='https://www.google.com/recaptcha/admin/create'>https://www.google.com/recaptcha/admin/create</a>"); } if ($use_ssl) { $server = RECAPTCHA_API_SECURE_SERVER; } else { $server = RECAPTCHA_API_SERVER; } $errorpart = ""; if ($error) { $errorpart = "&error=" . $error; } // 添加了强制IE6工作的子句。 if ((strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0;') !== false)) { $javaScriptEmbed = file_get_contents($server . '/challenge?k=' . $pubkey . $errorpart); return '<script type="text/javascript">' . $javaScriptEmbed . '</script> <noscript> <iframe xx_src="'. $server . '/noscript?k=' . $pubkey . $errorpart . '" height="300" width="500" frameborder="0"></iframe><br/> <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea> <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/> </noscript>'; } else { return '<script type="text/javascript" xx_src="'. $server . '/challenge?k=' . $pubkey . $errorpart . '"></script> <noscript> <iframe xx_src="'. $server . '/noscript?k=' . $pubkey . $errorpart . '" height="300" width="500" frameborder="0"></iframe><br/> <textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea> <input type="hidden" name="recaptcha_response_field" value="manual_challenge"/> </noscript>'; } }
这似乎很好地解决了这个问题。如果要检查代码是否已加载,请使用调用alert(typeof RecaptchaState);致电ReCaptcha之后。如果页面上存在RecaptchaState对象,这将打印“对象”,这意味着所有这些工作都已经完成。
我直接从书上抄了这些例子。代码应该在JFrame上绘制一些东西,但没有显示任何东西(除了JFrame),这里是带有main方法的类 下面是JPanel的一个子类
我试图在应用程序启动时显示项目的listview。但在应用程序启动时,没有显示listview,只有一个空白屏幕。下面是代码: MainActivity.java 但是现在我在logcat中得到了以下内容: 并且应用程序停止..请帮助!
我把拐角半径设为10。但图像视图不显示角半径。 我也尝试过使用,但也不起作用。 当我在图像视图上使用背景色时,如下所示,它完美地显示了带有圆角的视图。 我还尝试更改图像的图像、宽度和高度,以检查图像对于视图是否太大。但它也不起作用。 我就是这样调用ImageView的。
示例:http://www.studentbridges.org/new/ 我试图使我的导航栏横跨网页顶部,我得到了导航的div横跨网页,但是当我把导航菜单放在div里面时,下拉停止工作,并且链接不是居中的,不管我做什么(text-align:在CSS中的居中和标题中的标记不起作用)。 下面是我的代码: 导航 顶部导航分区: 任何关于问题可能是什么的投入将非常感谢! HTML:
普通通知生成器不会在Android O上显示通知。 如何在Android 8 Oreo上显示通知? 在Android O上显示通知是否需要添加新的代码?
我在StackOverflow上看到了一些类似的事件。然而,这些似乎都不适用于我的情况。我遇到的问题是,我的RecyclerView正在工作,但没有显示任何内容。我已经运行了多个测试,试图找出它不工作的原因,但所有测试都支持它正常工作的事实。 getItemCount中的日志返回3,这是正确的数字。我只是不明白为什么它没有显示。我回头看了我在以前的活动中做的回收器视图,它们都在一定程度上匹配(其他