Tag: safari

签名的Java小程序在Safari中没有获得权限

我有一个签名的java applet(使用自签名证书),它必须访问用户的文件系统。 我必须这样做,所以请不要回复“你不应该这样做”:) 问题是,当我从Firefox 3.0 / Mac执行Applet时,一切都按预期工作,我得到了所有访问权限。 当我使用Safar 4 / Mac时,我无法访问。 我特别遇到的问题是System.getProperty()(尽管当我把它存根时,FS访问也不起作用) String home = System.getProperty(“user.home”); 我得到的例外情况如下: java.security.AccessControlException: access denied (java.util.PropertyPermission user.home read) at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264) at java.security.AccessController.checkPermission(AccessController.java:427) at java.lang.SecurityManager.checkPermission(SecurityManager.java:532) at java.lang.SecurityManager.checkPropertyAccess(SecurityManager.java:1285) at java.lang.System.getProperty(System.java:628) at de.samedi.searcher.Searcher.(Searcher.java:49) at de.samedi.searcher.Applet.getSearcher(Applet.java:193) at de.samedi.searcher.Applet.getSearcher(Applet.java:187) at de.samedi.searcher.Applet.addPatient(Applet.java:68) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at sun.plugin.javascript.invoke.JSInvoke.invoke(JSInvoke.java:19) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) […]

如何等待Java applet在Safari上完成加载?

这在Safari中不起作用: alert(document.getElementById(‘MyApplet’).myMethod); myMethod是MyAppletClass声明的公共方法。 当我第一次在Safari中加载页面时,它会在applet加载完成之前显示警报(因此消息框显示为undefined )。 如果我刷新页面,applet已经加载,并且警报显示function myMethod() { [native code] } ,正如您所期望的那样。 当然,这意味着applet方法在加载之前不可用,但Safari并没有阻止JavaScript运行。 同样的问题。 我需要的是像 。 我该如何解决这个问题? 谢谢 PS:我不确定它是否相关,但JAR已签署。

Selenium WebDriver是否支持Safari?

我正在使用Selenium WebDriver和Java。 我想使用Safari浏览器。 Selenium WebDriver是否支持Safari ?

Java Web Start和Safari的问题

我有一个Java webstart应用程序,完全签名,现在已经部署了一年多。 由于某些原因,我们从未能够使用Safari。 实际上,我无法让任何JAWS应用程序与Safari一起使用。 互联网搜索不稳定,我似乎无法确定为什么Safari有网络启动问题。 编辑 以下是Safari中Java控制台的java堆栈跟踪。 请理解Java Web Start应用程序正常工作,在Firefox,IE,Chrome等中没有任何问题。 Java Plug-in 1.6.0_29使用JRE版本1.6.0_29-b11 Java HotSpot(TM)客户端VM用户主目录= C:\ Users \ strings —————— ———————————- c:清除控制台窗口f:在终结队列g上完成对象:垃圾收集h:显示此帮助消息l:dump classloader list m:print memory usage o:trigger logging p:reload proxy configuration q:hide console r:reload policy configuration s:dump system and deployment properties t:dump thread list v:dump thread stack x:clear classloader cache 0-5:将trace level设置为———————————— —————- load:未找到类com.novel.tech1.client.JAWSApplication。 […]

启动Safari并等待它关闭

题 我想启动Safari Web浏览器作为访问特定网站的过程,然后等到它关闭。 一种特殊情况是浏览器可能已经打开并运行,因为用户可能已经访问过某个网站。 在这种情况下,浏览器可能会在现有窗口中打开一个新选项卡,新启动的进程将立即终止。 这不应该混淆我的等待过程:我要么想要一个新的浏览器窗口(如果可以以某种方式强制执行,可能通过命令行参数)并等待关闭,或者保持现有的浏览器窗口并等到所有选项卡由此产生我的过程已关闭。 环境 我认为没关系,但我的编程环境是Java ,你可以假设我知道浏览器的路径。 例 我可以获得预期行为的唯一浏览器是Internet Explorer (叹息)。 在这里,我需要基本上在一个临时文件夹中创建一个新的批处理脚本 start /WAIT “” “C:\Program Files\Internet Explorer\iexplore.exe” -noframemerging http://www.test.com/ 然后我运行批处理脚本而不是直接浏览器,并在等待完成后删除它。 预期的过程 使目标过程更清晰: 我的程序开始了。 我的程序将Safari浏览器作为单独的进程启动,并提供一个URL作为该进程的参数进行访问。 Safari浏览器作为新进程异步运行,并访问提供的URL。 到目前为止,这很容易。 启动新进程(Safari浏览器)后,我自己的程序应该等待所述进程终止。 这是困难的部分,因为 许多现代浏览器启动多个进程。 我需要等待所有这些。 许多现代浏览器可能以某种方式“脱离”我自己启动的进程。 对不起,我不知道一个更好的词,我的意思是:我启动一个进程然后启动另一个进程并立即终止,而另一个进程继续运行。 如果我等待我的程序最初启动的浏览器进程,则在浏览器仍处于打开状态时等待将完成。 上面的一个特例是在许多浏览器中实现的选项卡式浏览:如果浏览器在我启动时已经打开(在用户启动的单独进程中),我新启动的浏览器进程可能会简单地传达URL以访问现有流程并终止。 当我的程序认为她已关闭浏览器时,用户仍在我提供的URL上。 通过指定特殊的命令行参数(例如IE的noframemerging可能会禁止此问题。 一旦浏览器终止或者与我提供的URL相关的所有标签都已关闭,我的程序将停止等待,而是继续开展业务。 用例是我有一个可以在本地运行或在服务器上运行的Web应用程序。 如果它在本地运行,它将启动Web服务器,然后打开浏览器以访问条目页面。 关闭浏览器后,该Web应用程序也应该关闭。 这适用于Internet Explorer。 对于所有其他情况,用户必须关闭浏览器,然后明确地关闭Web应用程序。 因此,如果我能够可靠地等待Safari完成,这将使用户体验更好。 方案偏好: 解决方案按以下顺序是优选的 任何与纯Java JRE一起提供的东西。 这包括浏览器的特殊命令行参数。 需要我做的事情,例如,创建批处理脚本(例如在IE的情况下)。 任何需要第三方开源库的东西。 任何需要3rth党闭源图书馆的东西。 […]

为什么我的applet得到java.security.AccessControlException:访问被拒绝(java.net.SocketPermission …),我该如何避免它?

我们对我的客户端在Safari中遇到Java安全性exception的原因一无所知。 有人可以帮忙吗? 在Windows上的Safari中可靠地发生exception。 这涉及Java applet。 Windows Vista上的Firefox和IE8也会出现exception。 以下是重现的步骤: 在Windows上打开Safari 点击此处: http : //www.cengraving.com/s/item?icmId = CH003 点击“自定义”(在屏幕底部) 加载“Instant Proof”页面后,单击“添加到购物车”。 完整堆栈跟踪: java.security.AccessControlException: access denied (java.net.SocketPermission www.cengraving.com resolve) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.SecurityManager.checkConnect(Unknown Source) at sun.plugin.security.ActivatorSecurityManager.checkConnect(Unknown Source) at java.net.InetAddress.getAllByName0(Unknown Source) at java.net.InetAddress.getAllByName(Unknown Source) at java.net.InetAddress.getAllByName(Unknown Source) at java.net.InetAddress.getByName(Unknown Source) at sun.net.www.http.HttpClient.New(Unknown Source) […]