从通用浏览器(通过http连接到服务器)访问本地智能卡的可能的客户端体系结构有哪些,最好是使用Javascript,对最终用户来说最小的安装麻烦是什么? 服务器必须能够至less向卡发出其select的APDU(或者可以将其中的一些委托给它所生成的客户端代码)。 我假设在工作PC / SC堆栈的客户端可用性,完成与智能卡读卡器。 至less在Windows,XP,现代OS X和Unix之后,这是一个合理的假设。 我到目前为止确定了以下选项: 一些自定义的ActiveX。 这就是我现有的应用程序所使用的(我们在内部开发的),一旦IE获得安装ActiveX的许可,部署对于客户来说是非常容易的,但是它不符合“通用浏览器”的要求。 更新 :ActiveX主要由不推荐的IE支持,包括IE11; 但不是由边缘。 一些使用Netscape Plugin API的PC / SC浏览器扩展,看起来像上面的平滑扩展。 我find的唯一一个现成的软件是SConnect ,但它看起来几乎没有活力 ,它的API 文档(webarchive)不再正式可用,而且与特定的智能卡供应商有着紧密的联系。 原则可能很好,但是为每个平台制作这样一个插件将会是很多工作。 更新 :许多浏览器(包括Chrome和Firefox)都会丢弃NPAPI支持。 运行在Oracle的JVM(1.)6或更高版本上的Java Applet,它随javax.smartcardio 。 从function的angular度来看,这是很好的,有据可查,我可以忍受一些已知的错误,但是我担心接受Java作为浏览器扩展的不可抗拒的下滑螺旋。 任何其他的想法? 另外:是否有某种方法可以防止恶意服务器(例如,提供3个错误的PIN码来阻止一个卡,仅仅为了它的恶劣;或制造一些更邪恶的东西)浏览器的任何PC / SC接口的滥用。
CSS或属性需要什么组合?
我正在开发一个手机银行应用程序,我有兴趣实时格式化货币数量input。 我已经testing了autoNumeric插件和jQuery格式的货币插件,但都在Android 2. *浏览器上有光标位置问题。 有没有人有一个JavaScript解决scheme兼容这个浏览器?
除Firefox之外的哪些浏览器支持Array.forEach()? Mozilla说这是对标准的扩展 ,我意识到添加到数组原型是微不足道的,我只是想知道其他浏览器支持它吗?
(我希望这是明确的社区wiki,我从我自己的答案中接受了这个问题 。) 指定一切 很多跨浏览器的问题都是这样的:你没有指定什么,不同的浏览器做出不同的假设。 因此: 声明一个有效的文档types 您的文档types告诉浏览器您将在代码中使用哪些规则。 如果你没有指定,浏览器必须猜测,不同的浏览器会猜测不同。 根据我的经验,一个“严格”的文档types使IE的行为更好(启用像CSS的东西:hoverselect器在IE7中的div)。 这篇文章给了doctypes很好的背景。 使用Web标准 避免使用特定于浏览器的标记,或者仅在其他浏览器中的失败对于站点体验不重要时才使用它。 validation您的HTML和CSS 你不必一切都完美,但validation是很好的反馈。 正如杰夫所说 : 了解规则和边界可以帮助你确定你在做什么,并为你提供合法的弹药来达成一致或不同意。 你可以做出明智的select,而不是随意的“我只是做这个,它的工作”一个。 想象一下,你打开了一个段落标记,并从来没有closures它。 如果你打开一个列表标签,你的意思是它是否在段落内? validation将帮助你捕捉到,closures标签,消除歧义。 考虑一个CSS重置 不同的浏览器会采用不同的基准CSS规则。 你可以通过明确地消除差异来帮助他们采取相同的行动。 谁写了CSS:权威指南 ,Eric Meyer使用这个重置 。 另一个stream行的select是YUI重置CSS 。 使用Javascript库进行DOM交互 只要你的Javascript需要处理页面上的元素,最好使用像jQuery,Prototype或MooTools这样的库。 这些库被成千上万的开发者使用,他们采用浏览器对Javascript的解释之间的大部分不一致性,在内部处理这些不一致的内容,并为您提供一组一致的命令。 试图寻找和解决所有这些矛盾是浪费时间和可能造成的错误。 在多个浏览器中testing,最后处理IE 随时testing多个浏览器。 一般来说,你会发现非IE浏览器的行为是相似的,IE是一个特殊情况 – 特别是如果你按照上面的build议。 必要时,您可以将IE hack添加到单独的样式表中,并仅为IE用户加载。 Quirksmode.com是search随机浏览器差异的好地方。 Browsershots.org可以帮助显示您的网页将如何显示在各种浏览器和操作系统。 顺利地失败 没有网站会在每个存在的浏览器看起来完美。 如果用户没有Flash或Javascript或高级CSS等,您希望您的网站可以使用。 devise时要考虑到这一点: 检查裸露的HTML 尝试用裸HTML加载您的网站 – 没有样式,没有脚本。 菜单选项是否可用? 主要内容是否在次要内容之前? 该网站是否可用,即使是丑陋的? 考虑testing驱动的渐进式增强 […]
这是我的难题:我有一个使用Google Maps V3和jQuery的页面。 这一切在FF5,Chrome和Safari本地运行良好。 一旦我上传到网站,我得到一个“谷歌未定义”的错误,我尝试使用谷歌对象的第一行 var defaultLocation = new google.maps.LatLng(lat, lng); 它只发生在FF , 只发生在远程 (即,如果我本地加载文件到FF,它运作良好)。 无论是Chrome还是Safari,我的Android和iPod浏览器都显得效果不错。 这是我到目前为止所尝试的: 将<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>移至<head>部分的顶部。 移动了所有内容$(function() {…}); 到一个名为initialize()的函数,并添加<body onload="initialize()"> 玩脚本和CSS文件的顺序 将http://maps.google.com/maps/api/js?sensor=falseurl粘贴到FF地址框中,并validation我收到了合法的脚本 但是,因为这只发生在远程机器上的FF,否则运作良好,我不认为这与我的代码有任何关系。 也许在FF5的加载顺序是拧紧的。 也许它比其他浏览器的networking资源的优先顺序不同。 我现在真的不知道该怎么做。 任何帮助表示赞赏。 家伙 更新: 只是想添加以下事实:在Mac上尝试之前,我尝试了Windows中的FF5,并已复制完全相同的行为。 为了好的措施,我也尝试了苍白的月亮 – 同样的结果。 Chrome 14,Opera 11.50甚至frickin'IE9(这不包括在testing计划中)的工作。 它只是FF5,现在在Mac和Windows 7上,在该页面上失败。
我想在不重新加载页面的情况下更改url。 我find的可能解决scheme是 window.history.pushState('page2','Title','/page2.php'); 但有些浏览器如Firefox 3.5,IE6 +不支持这个,所以对于他们来说解决scheme是 var uri = window.location.href; 但问题是如何发现,如果浏览器支持history.pushstate或不? 是TRY CATCH是可能的解决scheme或其他任何事情。
可能重复: PUT,DELETE,HEAD等方法在大多数Web浏览器中都可用? jQuery.ajax()的jQuery文档说明如下: 注意:其他的HTTP请求方法,比如PUT和DELETE,也可以在这里使用,但是并不是所有浏览器都支持。 jQuery本身说它支持IE 6.0+,FF 2+,Safari 3.0+,Opera 9.0+和Chrome。 那么上面哪个(如果有的话)不支持HTTP DELETE?
如何知道在Firefox中是否刷新button被点击或浏览器后退button被点击…两个事件onbeforeunload()方法是一个callback。 对于IE我这样处理: function CallbackFunction(event) { if (window.event) { if (window.event.clientX < 40 && window.event.clientY < 0) { alert("back button is clicked"); }else{ alert("refresh button is clicked"); } }else{ // want some condition here so that I can differentiate between // whether refresh button is clicked or back button is clicked. } } <body onbeforeunload="CallbackFunction();"> 但在Firefox中, […]
哪些浏览器支持数据URI(RFC 2397)以及哪个版本?