summaryrefslogtreecommitdiff
path: root/html/server/refresh.html
diff options
context:
space:
mode:
authorXavier Roche <xroche@users.noreply.github.com>2014-10-15 19:17:29 +0000
committerXavier Roche <xroche@users.noreply.github.com>2014-10-15 19:17:29 +0000
commit9b5c6cf86ed8dbf749bc2e401d4f87d340b6413d (patch)
tree38e035f0b797edeb5bdbc708681eacedeef53887 /html/server/refresh.html
parentcce112d40a6e36b2c437418e84c57490818603cb (diff)
Fixed webhttrack incompatibility with Chrome
* closes:#53 Also fixed HTML-escaping issues inside webhttrack Rationale: The webhttrack script made the wrong assumption that once the "browse" command returned, it meant the user killed the navigation window, and it had to kill the server itself. However, modern browsers tend to "attach" to an existing session (creating a new tab, for example, within an existing window), causing the browsing command to return immediately, thus causing the server to be killed immediately by the webhttrack script. I have rewritten the logic behind, and now the server is able to kill himself if the parent script dies, AND if the browsing client did not make any activity for two minutes. The "activity" can be any browser/refreshed page, or the internal "ping" iframe (which pings the server every 30 seconds). With this model, we *should* be compatible with old browsers, and modern ones.
Diffstat (limited to 'html/server/refresh.html')
-rwxr-xr-xhtml/server/refresh.html191
1 files changed, 62 insertions, 129 deletions
diff --git a/html/server/refresh.html b/html/server/refresh.html
index ca840a6..3e59ab9 100755
--- a/html/server/refresh.html
+++ b/html/server/refresh.html
@@ -7,122 +7,55 @@
<META http-equiv="refresh" content="30; URL=finished.html">
<title>'${projname}' - HTTrack Website Copier</title>
- <style type="text/css">
- <!--
+ <link rel="stylesheet" type="text/css" media="screen" href="style.css">
+ <script type="text/javascript" src="ping.js" defer></script>
-body {
- margin: 0; padding: 0; margin-bottom: 15px; margin-top: 8px;
- background: #77b;
+<script language="javascript">
+<!--
+var freeze=0;
+setTimeout(do_refresh, 1000);
+function do_load() {
+ window.status=' ';
+ enable_timer();
}
-body, td {
- font: 14px "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif;
- }
-
-#subTitle {
- background: #000; color: #fff; padding: 4px; font-weight: bold;
+function disable_timer() {
+ if (freeze == 0) {
+ freeze=1;
}
-
-#siteNavigation a, #siteNavigation .current {
- font-weight: bold; color: #448;
- }
-#siteNavigation a:link { text-decoration: none; }
-#siteNavigation a:visited { text-decoration: none; }
-
-#siteNavigation .current { background-color: #ccd; }
-
-#siteNavigation a:hover { text-decoration: none; background-color: #fff; color: #000; }
-#siteNavigation a:active { text-decoration: none; background-color: #ccc; }
-
-
-a:link { text-decoration: underline; color: #00f; }
-a:visited { text-decoration: underline; color: #000; }
-a:hover { text-decoration: underline; color: #c00; }
-a:active { text-decoration: underline; }
-
-#pageContent {
- clear: both;
- border-bottom: 6px solid #000;
- padding: 10px; padding-top: 20px;
- line-height: 1.65em;
- background-image: url(images/bg_rings.gif);
- background-repeat: no-repeat;
- background-position: top right;
+}
+function lock_timer() {
+ freeze=2;
+}
+function enable_timer() {
+ if (freeze == 1) {
+ freeze=0;
}
-
-#pageContent, #siteNavigation {
- background-color: #ccd;
+}
+function unlock_timer() {
+ freeze=0;
+}
+function do_confirm(str) {
+ lock_timer();
+ ret=confirm(str);
+ if (!ret) {
+ unlock_timer();
}
-
-
-.imgLeft { float: left; margin-right: 10px; margin-bottom: 10px; }
-.imgRight { float: right; margin-left: 10px; margin-bottom: 10px; }
-
-hr { height: 1px; color: #000; background-color: #000; margin-bottom: 15px; }
-
-h1 { margin: 0; font-weight: bold; font-size: 2em; }
-h2 { margin: 0; font-weight: bold; font-size: 1.6em; }
-h3 { margin: 0; font-weight: bold; font-size: 1.3em; }
-h4 { margin: 0; font-weight: bold; font-size: 1.18em; }
-
-.blak { background-color: #000; }
-.hide { display: none; }
-.tableWidth { min-width: 400px; }
-
-.tblRegular { border-collapse: collapse; }
-.tblRegular td { padding: 6px; background-image: url(fade.gif); border: 2px solid #99c; }
-.tblHeaderColor, .tblHeaderColor td { background: #99c; }
-.tblNoBorder td { border: 0; }
-
-
-// -->
-</style>
-
-<script language="javascript">
-<!--
-var freeze=0;
-setTimeout(do_refresh, 1000);
-function do_load() {
- window.status=' ';
- enable_timer();
-}
-function disable_timer() {
- if (freeze == 0) {
- freeze=1;
- }
+ return ret;
}
-function lock_timer() {
- freeze=2;
-}
-function enable_timer() {
- if (freeze == 1) {
- freeze=0;
- }
-}
-function unlock_timer() {
- freeze=0;
-}
-function do_confirm(str) {
- lock_timer();
- ret=confirm(str);
- if (!ret) {
- unlock_timer();
- }
- return ret;
-}
function do_unload() {
}
function info(str) {
window.status = str;
-}
-function do_refresh() {
- if (!freeze) {
- document.location.reload();
- } else {
- setTimeout(do_refresh, 1000);
- }
}
-function no_refresh() {
-}
+function do_refresh() {
+ if (!freeze) {
+ document.location.reload();
+ } else {
+ setTimeout(do_refresh, 1000);
+ }
+}
+function no_refresh() {
+}
// -->
</script>
@@ -140,7 +73,7 @@ function no_refresh() {
<td id="subTitle" align="right">
<a href="/server/file.html" target="_blank"
onClick="window.open('/server/file.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
- onMouseOver="info('${LANG_O1}'); return true" onMouseOut="info('&nbsp;'); return true"
+ onMouseOver="info('${html:LANG_O1}'); return true" onMouseOut="info('&nbsp;'); return true"
style="color:#FFFFFF"
>
${LANG_O1}
@@ -152,7 +85,7 @@ ${do:if-file-exists:html/index.html}
<td id="subTitle" align="right">
<a href="/index.html" target="_blank"
onClick="window.open('/server/help.html', 'help', 'toolbar=no, location=no, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=640, height=480'); return false"
- onMouseOver="info('${LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
+ onMouseOver="info('${html:LANG_TIPHELP}'); return true" onMouseOut="info('&nbsp;'); return true"
style="color:#FFFFFF"
>
${LANG_O5}
@@ -198,8 +131,8 @@ ${do:end-if}
</tr>
</table>
-
-<br>
+
+<br>
<table border="0" width="100%">
<tr>
@@ -210,8 +143,8 @@ ${LANG_H20} ${info.currentjob}
</td>
</tr>
</table>
-
-<br>
+
+<br>
<form method="POST" action="step4.html" name="form">
<input type="hidden" name="sid" value="${sid}">
@@ -219,20 +152,20 @@ ${LANG_H20} ${info.currentjob}
<table border="0" width="100%">
-<tr><td>${info.state[0]}</td><td>${info.name[0]}</td><td>${info.file[0]}</td><td>${info.size[0]}/${info.sizetot[0]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[0]}'; form.submit()" onMouseOver="info('${LANG_H6}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
-<tr><td>${info.state[1]}</td><td>${info.name[1]}</td><td>${info.file[1]}</td><td>${info.size[1]}/${info.sizetot[1]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[1]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
-<tr><td>${info.state[2]}</td><td>${info.name[2]}</td><td>${info.file[2]}</td><td>${info.size[2]}/${info.sizetot[2]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[2]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
-<tr><td>${info.state[3]}</td><td>${info.name[3]}</td><td>${info.file[3]}</td><td>${info.size[3]}/${info.sizetot[3]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[3]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
-<tr><td>${info.state[4]}</td><td>${info.name[4]}</td><td>${info.file[4]}</td><td>${info.size[4]}/${info.sizetot[4]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[4]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
-<tr><td>${info.state[5]}</td><td>${info.name[5]}</td><td>${info.file[5]}</td><td>${info.size[5]}/${info.sizetot[5]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[5]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
-<tr><td>${info.state[6]}</td><td>${info.name[6]}</td><td>${info.file[6]}</td><td>${info.size[6]}/${info.sizetot[6]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[6]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
-<tr><td>${info.state[7]}</td><td>${info.name[7]}</td><td>${info.file[7]}</td><td>${info.size[7]}/${info.sizetot[7]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[7]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
-<tr><td>${info.state[8]}</td><td>${info.name[8]}</td><td>${info.file[8]}</td><td>${info.size[8]}/${info.sizetot[8]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[8]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
-<tr><td>${info.state[9]}</td><td>${info.name[9]}</td><td>${info.file[9]}</td><td>${info.size[9]}/${info.sizetot[9]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[9]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
-<tr><td>${info.state[10]}</td><td>${info.name[10]}</td><td>${info.file[10]}</td><td>${info.size[10]}/${info.sizetot[10]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[10]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
-<tr><td>${info.state[11]}</td><td>${info.name[11]}</td><td>${info.file[11]}</td><td>${info.size[11]}/${info.sizetot[11]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[11]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
-<tr><td>${info.state[12]}</td><td>${info.name[12]}</td><td>${info.file[12]}</td><td>${info.size[12]}/${info.sizetot[12]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[12]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
-<tr><td>${info.state[13]}</td><td>${info.name[13]}</td><td>${info.file[13]}</td><td>${info.size[13]}/${info.sizetot[13]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[13]}'; form.submit()" onMouseOver="info('${LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
+<tr><td>${info.state[0]}</td><td>${info.name[0]}</td><td>${info.file[0]}</td><td>${info.size[0]}/${info.sizetot[0]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[0]}'; form.submit()" onMouseOver="info('${html:LANG_H6}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
+<tr><td>${info.state[1]}</td><td>${info.name[1]}</td><td>${info.file[1]}</td><td>${info.size[1]}/${info.sizetot[1]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[1]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
+<tr><td>${info.state[2]}</td><td>${info.name[2]}</td><td>${info.file[2]}</td><td>${info.size[2]}/${info.sizetot[2]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[2]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
+<tr><td>${info.state[3]}</td><td>${info.name[3]}</td><td>${info.file[3]}</td><td>${info.size[3]}/${info.sizetot[3]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[3]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
+<tr><td>${info.state[4]}</td><td>${info.name[4]}</td><td>${info.file[4]}</td><td>${info.size[4]}/${info.sizetot[4]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[4]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
+<tr><td>${info.state[5]}</td><td>${info.name[5]}</td><td>${info.file[5]}</td><td>${info.size[5]}/${info.sizetot[5]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[5]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
+<tr><td>${info.state[6]}</td><td>${info.name[6]}</td><td>${info.file[6]}</td><td>${info.size[6]}/${info.sizetot[6]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[6]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
+<tr><td>${info.state[7]}</td><td>${info.name[7]}</td><td>${info.file[7]}</td><td>${info.size[7]}/${info.sizetot[7]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[7]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
+<tr><td>${info.state[8]}</td><td>${info.name[8]}</td><td>${info.file[8]}</td><td>${info.size[8]}/${info.sizetot[8]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[8]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
+<tr><td>${info.state[9]}</td><td>${info.name[9]}</td><td>${info.file[9]}</td><td>${info.size[9]}/${info.sizetot[9]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[9]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
+<tr><td>${info.state[10]}</td><td>${info.name[10]}</td><td>${info.file[10]}</td><td>${info.size[10]}/${info.sizetot[10]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[10]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
+<tr><td>${info.state[11]}</td><td>${info.name[11]}</td><td>${info.file[11]}</td><td>${info.size[11]}/${info.sizetot[11]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[11]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
+<tr><td>${info.state[12]}</td><td>${info.name[12]}</td><td>${info.file[12]}</td><td>${info.size[12]}/${info.sizetot[12]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[12]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
+<tr><td>${info.state[13]}</td><td>${info.name[13]}</td><td>${info.file[13]}</td><td>${info.size[13]}/${info.sizetot[13]}</td><td><input type="submit" value="${LANG_H15}" onClick="form.command.value='cancel-file=${info.url_sav[13]}'; form.submit()" onMouseOver="info('${html:LANG_H7}'); return true" onMouseOut="info('&nbsp;'); return true"></td></tr>
</table>
@@ -246,10 +179,10 @@ ${LANG_H20} ${info.currentjob}
<table width="100%" border="0"><tr><td align="left">
&nbsp;
</td><td align="right">
- <input type="submit" value=" ${LANG_V4} "
- onMouseOver="disable_timer(); info('${LANG_D3}'); return true"
- onMouseOut="info('&nbsp;'); enable_timer(); return true"
- onClick="if (do_confirm('${LANG_G1}')) { form.command.value='cancel'; form.submit(); } return false"
+ <input type="submit" value=" ${LANG_V4} "
+ onMouseOver="disable_timer(); info('${LANG_D3}'); return true"
+ onMouseOut="info('&nbsp;'); enable_timer(); return true"
+ onClick="if (do_confirm('${LANG_G1}')) { form.command.value='cancel'; form.submit(); } return false"
>
</td></tr></table>