Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Потеря фокуса у апплета в браузере (https://javascript.ru/forum/css-html/30581-poterya-fokusa-u-appleta-v-brauzere.html)

motoriton 09.08.2012 06:34

Потеря фокуса у апплета в браузере
 
Помогите новичку=)
Есть апплет на странице. Один.
Нужно сделать так чтобы при переводе фокуса на окно, или на вкладку браузера - фокус переводился и на апплет, который там расположен. В данный момент фокус теряется в разных браузерах по разному. нужно чтоб это работало хоть где нибудь, дальше разберемся.

Вот кусок кода, если вдруг пригодится.

.................................................. ............
<!-- Registration applet definition (start) -->
<OBJECT classid="%jpi_classid%"
        codebase="%jpi_codebase%"
        WIDTH="0"
        HEIGHT="0"
        HSPACE="0"
        VSPACE="0">
<PARAM NAME="TYPE"       VALUE="%jpi_mimetype%">
<PARAM NAME="CODEBASE"   VALUE="%codebase%">
<PARAM NAME="CODE"       VALUE="oracle.forms.webutil.common.RegisterWebUtil" >
<PARAM NAME="ARCHIVE"    VALUE="%webUtilArchive%" >
<COMMENT>
<EMBED SRC="" PLUGINSPAGE="%jpi_download_page%"
        TYPE="%jpi_mimetype%"
        java_codebase="%codebase%"
        java_code="oracle.forms.webutil.common.RegisterWebUtil"
        java_archive="%webUtilArchive%"
        WIDTH="1"
        HEIGHT="1"
        HSPACE="0"
        VSPACE="0"
>
<NOEMBED>
</COMMENT>
</NOEMBED></EMBED>
</OBJECT>
<!-- Registration applet definition (end) -->

<COMMENT id="forms_plugin_info" 
         plug_ver="%jpi_classid%" 
         appheight="%Height%"
         appwidth="%Width%"
         appcodebase="%jpi_codebase%">
</COMMENT>

<!-- Forms applet definition (start) -->
<NOSCRIPT>
<OBJECT classid="%jpi_classid%"
        codebase="%jpi_codebase%"
        WIDTH="%Width%"
        HEIGHT="%Height%"
        HSPACE="0"
        VSPACE="0">
</NOSCRIPT>
<SCRIPT LANGUAGE="JavaScript" SRC="java/forms_ie.js">

</SCRIPT> 
<PARAM NAME="TYPE"       VALUE="%jpi_mimetype%">
<PARAM NAME="CODEBASE"   VALUE="%codebase%">
<PARAM NAME="CODE"       VALUE="oracle.forms.engine.Main" >
<PARAM NAME="ARCHIVE"    VALUE="%archive%,%webUtilArchive%" >

<PARAM NAME="serverURL" VALUE="%serverURL%">
<PARAM NAME="networkRetries" VALUE="%networkRetries%">
<PARAM NAME="serverArgs"
       VALUE="%escapeParams% module=%form% userid=%userid% sso_userid=%sso_userid% sso_formsid=%sso_formsid% sso_subDN=%sso_subDN% sso_usrDN=%sso_usrDN% debug=%debug% host=%host% port=%port% %otherParams%">
<PARAM NAME="separateFrame" VALUE="%separateFrame%">
<PARAM NAME="splashScreen"  VALUE="%splashScreen%">
<PARAM NAME="background"  VALUE="%background%">
<PARAM NAME="lookAndFeel"  VALUE="%lookAndFeel%">
<PARAM NAME="colorScheme"  VALUE="%colorScheme%">
<PARAM NAME="serverApp" VALUE="%serverApp%">
<PARAM NAME="logo" VALUE="%logo%">
<PARAM NAME="imageBase" VALUE="%imageBase%">
<PARAM NAME="formsMessageListener" VALUE="%formsMessageListener%">
<PARAM NAME="recordFileName" VALUE="%recordFileName%">
<PARAM NAME="EndUserMonitoringEnabled" VALUE="%EndUserMonitoringEnabled%">
<PARAM NAME="EndUserMonitoringURL" VALUE="%EndUserMonitoringURL%">
<PARAM NAME="heartBeat" VALUE="%heartBeat%">
<PARAM NAME="allowAlertClipboard" VALUE="%allowAlertClipboard%">
<PARAM NAME="disableValidateClipboard" VALUE="%disableValidateClipboard%">
<PARAM NAME="enableJavascriptEvent" VALUE="%enableJavascriptEvent%">
<PARAM NAME="MAYSCRIPT" VALUE="%enableJavascriptEvent%">
<PARAM NAME="digitSubstitution" VALUE="%digitSubstitution%">
<PARAM NAME="WebUtilLogging" VALUE="%WebUtilLogging%">
<PARAM NAME="WebUtilLoggingDetail" VALUE="%WebUtilLoggingDetail%">
<PARAM NAME="WebUtilErrorMode" VALUE="%WebUtilErrorMode%">
<PARAM NAME="WebUtilDispatchMonitorInterval" VALUE="%WebUtilDispatchMonitorInterval%">
<PARAM NAME="WebUtilTrustInternal" VALUE="%WebUtilTrustInternal%">
<PARAM NAME="WebUtilMaxTransferSize" VALUE="%WebUtilMaxTransferSize%">
<PARAM NAME="java_version" VALUE="%java_version%">
<PARAM NAME="highContrast" VALUE="%highContrast%">
<COMMENT>
<EMBED SRC="" PLUGINSPAGE="%jpi_download_page%"
        TYPE="%jpi_mimetype%"
        java_codebase="%codebase%"
        java_code="oracle.forms.engine.Main"
        java_archive="%archive%,%webUtilArchive%"
        java_version="%java_version%"
        WIDTH="%Width%"
        HEIGHT="%Height%"
        HSPACE="0"
        VSPACE="0"

        serverURL="%serverURL%"
        networkRetries="%networkRetries%"
        serverArgs="%escapeParams% module=%form% userid=%userid% sso_userid=%sso_userid% sso_formsid=%sso_formsid% sso_subDN=%sso_subDN% sso_usrDN=%sso_usrDN% debug=%debug% host=%host% port=%port% %otherparams%"
        separateFrame="%separateFrame%"
        splashScreen="%splashScreen%"
        background="%background%"
        lookAndFeel="%lookAndFeel%"
        colorScheme="%colorScheme%"
        serverApp="%serverApp%"
        logo="%logo%"
        imageBase="%imageBase%"
        recordFileName="%recordFileName%"
        EndUserMonitoringEnabled="%EndUserMonitoringEnabled%"
        EndUserMonitoringURL="%EndUserMonitoringURL%"
        heartBeat="%heartBeat%"
        disableValidateClipboard="%disableValidateClipboard%"
        enableJavascriptEvent="%enableJavascriptEvent%"
        MAYSCRIPT="%enableJavascriptEvent%"
        digitSubstitution="%digitSubstitution%"
        WebUtilLogging="%WebUtilLogging%"
        WebUtilLoggingDetail="%WebUtilLoggingDetail%"
        WebUtilErrormode="%WebUtilErrorMode%"
        WebUtilDispatchMonitorInterval="%WebUtilDispatchMonitorInterval%"
        WebUtilTrustInternal="%WebUtilTrustInternal%"
        WebUtilMaxTransferSize="%WebUtilMaxTransferSize%"
>
<NOEMBED>
</COMMENT>
</NOEMBED></EMBED>
</OBJECT>
<!-- Forms applet definition (end) -->

.................................................. ............

motoriton 09.08.2012 14:09

Нашел способ, но работает тока в IE

<HEAD>
...
<script type="text/javascript">
...
function funcFocus() {
document.applets[1].requestfocus();
}
window.onfocus = function() {
setTimeout(funcFocus, 10);
}
...
</script>
...
</HEAD>

Событие window.onfocus срабатывает когда активируется окно или просто вкладка браузера

но функция document.applets[1].requestfocus(); отказывается работать в других браузерах и я не могу понять почему.

Все ругаются на document.applets[1], не знают Applets, как так, че делать, аааааа

join 10.08.2012 14:03

Если в системе или браузерах нет плагинов java, то ничего работать не будет.
ваша тема на cyberForum'e идентична туташней :)
Забейте на апплеты, они не катируются сейчас.

Deff 10.08.2012 15:30

Цитата:

Сообщение от join
Если в системе или браузерах нет плагинов java, то ничего работать не будет.

motoriton,
в принципе - идея такая - запускаем таймер с инкрементом и смотрим разность между предыдущим значением времени и текущим - если она более интервала - значит мы только что перешли с иной страницы на текущую
(посколь при потере фокуса вкладкой - скрипты теряют активность)

<script type="text/javascript">
var oldTime=new Date();
oldTime = oldTime.getTime();
interv = 250;
setInterval(function() {
var newTime=new Date();
newTime = newTime.getTime()
var DeltaT = Math.abs(newTime - oldTime - interv);
oldTime = newTime;
if(DeltaT > interv) alert("Переключились На текущую вкладку")
},interv);
</script>

Aetae 10.08.2012 15:47

Цитата:

Сообщение от Deff (Сообщение 196261)
(посколь при потере фокуса вкладкой - скрипты теряют активность)

Не везде. В ие точно не теряют.

Deff 10.08.2012 15:57

Цитата:

Сообщение от Aetae
Не везде. В ие точно не теряют.

:write: Ну да - проверил - действительно так - ну наверняка там свой собственный метод есть как всегда


Часовой пояс GMT +3, время: 05:35.