Java-апплет в iframe не загружается в Mac Safari - PullRequest
1 голос
/ 05 ноября 2010

Для приложения iframe на Facebook мы загружаем Java-апплет в браузере файлов.Это прекрасно работает во всех основных браузерах на ПК и Firefox на Mac.Он также прекрасно загружается вне iframe в Safari на Mac.

Однако, как только страница вызывается изнутри iframe в Safari / Mac, апплет не загружается.Мы получаем всплывающее окно с разрешением подписанного апплета, но после этого загрузка просто вращается, пока не истечет время ожидания.

Я проверил это в iframe за пределами Facebook, а также внутри, так что я знаю, чтоне проблема Facebook.Также удостоверился, что Java включен и обновлен в Safari, и не наблюдал никаких соответствующих сообщений об ошибках в консоли.

Кто-нибудь еще сталкивался с этой проблемой, и если так, есть ли решение или обходной путьчто можно реализовать?

ОБНОВЛЕНИЕ: Вывод из консоли Java ниже.Всегда зависает в одном и том же месте при вызове liveconnect, без ошибок.

Java Plug-in 1.6.0_22
Using JRE version 1.6.0_22-b04-307-10M3261 Java HotSpot(TM) Client VM
User home directory = /Users/user
Java Plug-in 1.6.0_22
Using JRE version 1.6.0_22-b04-307-10M3261 Java HotSpot(TM) Client VM
User home directory = /Users/user
network: Loading user-defined proxy configuration…
network: Done.
network: Loading proxy configuration from Netscape Navigator…
network: Done.
network: Loading direct proxy configuration…
network: Done.
network: Proxy Configuration: No proxy
basic: Referencing classloader: sun.plugin.ClassLoaderInfo@da90c, refcount=1
basic: Added progress listener: sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener@1797795
basic: Loading applet…
basic: Initializing applet…
basic: Starting applet…
basic: completed perf rollup
network: Cache entry not found [url: http://[server_address_removed]/testutility10_21_2009_10_27_45.jar, version: null]
network: Connecting http://[server_address_removed]/testutility10_21_2009_10_27_45.jar with proxy=DIRECT
network: Connecting socket://[server_address_removed]:80 with proxy=DIRECT
network: Cache entry not found [url: http://[server_address_removed]/testutility10_21_2009_10_27_45.jar, version: null]
network: Cache entry not found [url: http://[server_address_removed]/testutility10_21_2009_10_27_45.jar, version: null]
network: Connecting http://[server_address_removed]/testutility10_21_2009_10_27_45.jar with proxy=DIRECT
network: Downloading resource: http://[server_address_removed]/testutility10_21_2009_10_27_45.jar
Content-Length: 3,686
Content-Encoding: null
security: Blacklist revocation check is enabled
network: Cache entry not found [url: http://[server_address_removed]/testutility10_21_2009_10_27_45.jar, version: null]
network: Cache entry not found [url: http://[server_address_removed]/testutility10_21_2009_10_27_45.jar, version: null]
network: Cache entry not found [url: http://[server_address_removed]/testutility10_21_2009_10_27_45.jar, version: null]
network: Cache entry not found [url: http://[server_address_removed]/testutility10_21_2009_10_27_45.jar, version: null]
network: Connecting http://[server_address_removed]/testutility10_21_2009_10_27_45.jar with proxy=DIRECT
network: Cache entry not found [url: http://[server_address_removed]/testutility10_21_2009_10_27_45.jar, version: null]
network: Cache entry not found [url: http://[server_address_removed]/testutility10_21_2009_10_27_45.jar, version: null]
network: Cache entry not found [url: http://[server_address_removed]/testutility10_21_2009_10_27_45.jar, version: null]
network: Cache entry not found [url: http://[server_address_removed]/testutility10_21_2009_10_27_45.jar, version: null]
BaseApplet:init-complete
applet:start
invoking startup callback testAppletInitialized
liveconnect: JSObject::call: name=open
basic: Referencing classloader: sun.plugin.ClassLoaderInfo@602b6b, refcount=1
basic: Added progress listener: sun.plugin.util.GrayBoxPainter$GrayBoxProgressListener@18a6e6e
basic: Loading applet…
basic: Initializing applet…
basic: Starting applet…
basic: completed perf rollup
network: Cache entry not found [url: http://[server_address_removed]/fileutility10_21_2009_10_27_45.jar, version: null]
network: Connecting http://[server_address_removed]/fileutility10_21_2009_10_27_45.jar with proxy=DIRECT
network: Connecting socket://[server_address_removed]:80 with proxy=DIRECT
network: Cache entry not found [url: http://[server_address_removed]/fileutility10_21_2009_10_27_45.jar, version: null]
network: Cache entry not found [url: http://[server_address_removed]/fileutility10_21_2009_10_27_45.jar, version: null]
network: Connecting http://[server_address_removed]/fileutility10_21_2009_10_27_45.jar with proxy=DIRECT
network: Downloading resource: http://[server_address_removed]/fileutility10_21_2009_10_27_45.jar
Content-Length: 33,019
Content-Encoding: null
network: Cache entry not found [url: http://[server_address_removed]/fileutility10_21_2009_10_27_45.jar, version: null]
network: Cache entry not found [url: http://[server_address_removed]/fileutility10_21_2009_10_27_45.jar, version: null]
network: Cache entry not found [url: http://[server_address_removed]/fileutility10_21_2009_10_27_45.jar, version: null]
security: Loading Root CA certificates from /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/security/cacerts
security: Loaded Root CA certificates from /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/lib/security/cacerts
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Loading Root CA certificates from from keychain
security: Loaded Root CA certificates from from keychain
security: Validate the certificate chain using CertPath API
security: Obtain certificate collection in Root CA certificate store
security: Obtain certificate collection in Root CA certificate store
security: Obtain certificate collection in Root CA certificate store
security: jpicertstore.cert.getkeystore
security: No timestamping info available
security: Cannot find jurisdiction list file
security: The CRL support is disabled
security: The OCSP support is disabled
security: This OCSP End Entity validation is disabled
security: Checking if certificate is in Deployment denied certificate store
security: Checking if certificate is in Deployment permanent certificate store
security: Checking if certificate is in Deployment session certificate store
security: Creating MacOSXTrust
security: Evaluating MacOSXTrust
security: MacOSXTrust: cert chain is valid, no explict intent
security: MacOSXTrust: cert chain is valid, keychain explicity requested user confirmation
security: Evaluating trust of site: [server_address_removed]
security: Did not find a trusted site record for: http://[server_address_removed]<ab7662bf>
security: Showing MacOSXTrustSiteDialog
security: User permitted app to continue with priviledges
security: MacOSXTrustUI.evaluateTrustAfterShow: returning GrantThisSession
security: User has granted the privileges to the code for this session only
security: Adding certificate in Deployment session certificate store
security: Added certificate in Deployment session certificate store
security: Saving certificates in Deployment session certificate store
security: Saved certificates in Deployment session certificate store
network: Cache entry not found [url: http://[server_address_removed]/fileutility10_21_2009_10_27_45.jar, version: null]
network: Connecting http://[server_address_removed]/fileutility10_21_2009_10_27_45.jar with proxy=DIRECT
network: Cache entry not found [url: http://[server_address_removed]/fileutility10_21_2009_10_27_45.jar, version: null]
network: Cache entry not found [url: http://[server_address_removed]/fileutility10_21_2009_10_27_45.jar, version: null]
network: Cache entry not found [url: http://[server_address_removed]/fileutility10_21_2009_10_27_45.jar, version: null]
network: Cache entry not found [url: http://[server_address_removed]/fileutility10_21_2009_10_27_45.jar, version: null]
calling workaround: javascript:testAppletInitialized("1.6.0_22");BaseApplet:init-complete
SingleFileServer23196574: server at http://127.0.0.1:3145
SingleFileServer23196574: server running
XMLSocketServer18107298:server at xmlsocket://127.0.0.1:7711
XMLSocketServer18107298:policy <cross-domain-policy><allow-access-from domain='[server_address_removed]' secure='false' to-ports='7711' /></cross-domain-policy>
applet:init-complete
XMLSocketServer18107298:running
applet:start
SingleFileServer23196574: now serving certificate e848b62e2782e2cef20fe2d075d9e633 at http://127.0.0.1:3145/certificate1290016856751
invoking startup callback
calling workaround: javascript:appletInitialized("http://127.0.0.1:3145","xmlsocket://127.0.0.1:7711","http://127.0.0.1:3145/certificate1290016856751");running on Mac OS X
applet:start-complete
liveconnect: JSObject::call: name=open

Ответы [ 2 ]

1 голос
/ 26 февраля 2011

Я до сих пор не знаю причину, но я нашел обходной путь, который работает для нас. Я случайно обнаружил, что если вы перезагрузите фрейм апплета, он загрузит апплет во второй раз. Один улов был, если вы сделали это слишком быстро, это не сработало, поэтому я добавил setTimeout с задержкой в ​​одну секунду. Кажется, это работает для нас.

if ((navigator.platform.toUpperCase().indexOf("MAC") != -1) && (navigator.vendor.toUpperCase().indexOf("APPLE") != -1)) { 
 setTimeout("ReloadImageFrame('028-2007-009844', '', " + currentAppID + ")", 1000); }
1 голос
/ 17 ноября 2010

ОБНОВЛЕНИЕ: решение ниже не работает последовательно;в равных условиях (версия Safari, версия ОС, все настройки одинаковы) это работало только на 1 из 4 компьютеров Mac, на которых я тестировал.Все еще ищем согласованное решение.

Мы смогли решить эту проблему, изменив настройки Java в Mac OS:

  1. Открыть настройки Java (Приложения> Утилиты> Настройки Java))
  2. На вкладке Общие измените значение по умолчанию «В процессе браузера» на «В своем собственном процессе»
  3. Обязательно очистите кэш при перезапуске Safari.

версия для Mac: 10.6.5;Версия Safari: 5.0.2;Версия Java: 1.6.0_22-604-307

Screenshot of Mac OS Java Preferences dialog

...