إطلاق نافذة متصفح من Java Webstart (JNLP) في Java 6U13 +
-
12-09-2019 - |
سؤال
هناك خطأ في Java 6u13 و 6u14.http://bugs.sun.com/view_bug.do؟bug_id=6835450.
ببساطة، من المفترض أن يفتح التعليمة البرمجية التالية فتح نافذة متصفح، ولكن نظرا لعلة في الإطار، توقف عن العمل في Java 1.6 Update 13. لا شيء يفتح بعد الآن. كان هناك خطأ مماثل ل Java Applets (تم إصلاحه في التحديث 14)، ولكن هذا واحد لا يزال موجودا في تحديث 14 ل Java Webstart / JNLP.
getAppletContext().showDocument(new URL("http://www.sun.com"),"_blank");
هل تعرف أي حلول؟
المحلول
لم أحاول ذلك في JNLP، ولكن عادة ما يجب أن يعمل هذا:
java.awt.Desktop.getDesktop().browse(new URI("http://www.sun.com"));
نصائح أخرى
هل BasicService.showDocument
الشغل؟ لا أستطيع أن أتذكر كيف يتم تنفيذها خارج اليد.
بدلا من ذلك، استخدم LiveConnect لتنفيذ Javascript بنفسك (على الرغم من أنه قد يعمل في نفس المشكلات).
public boolean openUrl(final URL url) {
try {
// Lookup the javax.jnlp.BasicService object
BasicService bs = (BasicService)javax.jnlp.ServiceManager.lookup("javax.jnlp.BasicService");
// Invoke the showDocument method
return bs.showDocument(url);
} catch(UnavailableServiceException ue) {
// Service is not supported
log.log(Level.WARNING, "Could not open URL " + url, ue);
return false;
}
}
لا تنتمي إلى StackOverflow