Имя: Пароль:
IT
Веб-мастеринг
Вевести в iframe содержимое по условию - дате создания содержимого.
,
0 Cube
 
19.04.13
09:17
В общем, есть страница:

<html>
   <head>
       <script>
           function checkdate() {
               document.getElementById('myframe').src="file://localhost/C:/111.htm";
           }
       </script>
   </head>
   <body onload="checkdate()">
       <iframe id="myframe"></iframe>
   </body>
</html>

Необходимо в myframe выводить страницу C:/111.htm, если дата создания страницы C:/111.htm не старее 3 минут, иначе выводить страницу C:/222.htm.

Никак не могу получить дату создания файла в JS...
Может, это вообще можно сделать без JS?
1 Cube
 
19.04.13
10:04
UP, что-ли...
2 HeroShima
 
19.04.13
10:07
Или проверка должна быть на сервере, или браузеру должна передаваться информация о времени создания файла.
3 HeroShima
 
19.04.13
10:08
И вообще, мутно.
4 Cube
 
19.04.13
10:11
Нету веб сервера, это просто HTML страничка... Открывается локально в браузере.

Если важна предыстория - это дисплей покупателя: браузер в полноэкранном режиме с автообновлением страницы 1 сек. Из 1С формируется отчет и сохраняется в html. Он выводится на экран. Поле 3-х минут эту инфу нужно заменить на заставку.
5 Ковычки
 
19.04.13
10:42
если локально - открывайте в хта
6 Cube
 
19.04.13
11:32
(5) Можно по-подробнее?
7 Cube
 
19.04.13
12:56
Ап
8 Ковычки
 
19.04.13
13:05
страничку сохраните с расширением .hta
<hta:application
navigable=yes
/>
<html>
   <head>
       <script>
           function checkdate() {
alert(new ActiveXObject('Scripting.FileScriptingObject').GetFile('C:/111.htm').DateCreated);
               document.getElementById('myframe').src="file://localhost/C:/111.htm";
           }
       </script>
   </head>
   <body onload="checkdate()">
       <iframe id="myframe"></iframe>
   </body>
</html>


http://msdn.microsoft.com/en-us/library/ms536495(v=vs.85).aspx
9 Cube
 
19.04.13
13:12
(8) Так вот, в том-то и дело, что код

alert(new ActiveXObject('Scripting.FileScriptingObject').GetFile('C:/111.htm').DateCreated);

не хочет работать ни в htm, ни в hta... Проверено на WinXP и Win7.

И hta открывается в окне, а мне надо во весь экран...
10 Cube
 
19.04.13
13:18
+(9) Кстати, в hta хоть ошибку пишет: "Невозможно создание объекта сервером программирования объектов".
11 Cube
 
19.04.13
13:49
У меня есть ещё один вариант реализации: файл C:/111.htm будет удаляться планировщиком Windows по истечении 3-х минут, а страница из (0) должна проверять наличие файла C:/111.htm и, если есть выводить его, а если нет, то выводить C:/222.htm

Но тут не понятно как проверить наличие и как срезать файл планировщиком (ведь там опять придется получать дату создания файла)...
12 Ковычки
 
19.04.13
14:11
если в хта режет создание объекта, то либо убит ком либо ужаты права до неприличия
13 Ковычки
 
19.04.13
14:11
а во весь экран в ссылке - все есть
14 Cube
 
22.04.13
09:19
Ковычки Спасибо, но всё равно не получилось... :(
Сделал через батник и планировщик...
15 Ковычки
 
22.04.13
09:23
выполните

mshta "javascript:alert(new ActiveXObject('Scripting.FileSystemObject').GetFile('c:/111.htm').DateCreated)"


в (8) ошибка, не FileScriptingObject, а FileSystemObject
16 Cube
 
22.04.13
13:48
(15) Комп уже ушел в работу, поэксперементировать уже не на чем, но всё равно, спасибо.

Кстати, вариант сделать всё скриптом как в (0) ущербный - содержимое iframe в этом случае моргает. Лучше, когда у iframe сразу указан src. Хотя, может и комп просто не вывозил (комп старенький).