Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: в файлах с расширением html и php неработает javascript
 
 автор: nill   (14.10.2007 в 17:42)   письмо автору
 
 

отладил скрипт в файле с расширением js в котором все работает
и поместил в файл php начало и конец обозначил <script></script>

скрипт не то что бы совсем не работает он переходит по нужному url а дальше ничего не происходит
думаю это из-за того что в броузере вылазиют всякие предупреждения об ActivX
странно но в том же броузере когда запускаешь тот же скрипт но с расширением js никаких предупреждений не вылазиет

броузер IE 6.0
система Windows XP

все настройки броузера сделал на минимум
как заставить все работать в IE и с нужным расширением ?

   
 
 автор: sim5   (14.10.2007 в 18:27)   письмо автору
 
   для: nill   (14.10.2007 в 17:42)
 

js - это поключаемый сценарий, а поместив его содержимое на странице между <script></script>, вы получите тоже самое. Если не работатет после РНР, так вы посмотрите, что у вас в итоге получилось.
ActivX - это не JS, это разные вещи, если только вы в своем сценарии не применяете ActivX компоненты.

   
 
 автор: nill   (14.10.2007 в 18:45)   письмо автору
 
   для: sim5   (14.10.2007 в 18:27)
 

так я и не говорил что js и ActiveX это одно и то же
код ActiveX приходиться применять

если запускаю этот код с js то все щелкает нажимаеться и идет до конца
а если из php или html то только новое окно открывается и в нем грузиться нужный сайт а далше не идет (Никаких изменений кроме тега <script></script> я не делаю)

ie = new ActiveXObject("InternetExplorer.Application");
ie.Visible = true;
ie.Navigate("http://www.site.net");
while (ie.busy) { WScript.Sleep(8000) }
ie.document.forms[0].nick.value = "nick";
ie.document.forms[0].password.value = "dsf3r3r";
ie.document.forms[0].submit();
while (ie.busy) { WScript.Sleep(4000) }
ie.document.links[1].click();
while (ie.busy) { WScript.Sleep(4000) }
ie.document.forms[0].ipmask.value = "98.195.4.87:1111";
ie.document.forms[0].submit();
while (ie.busy) { WScript.Sleep(4000) }
var WshShell = new ActiveXObject("WScript.Shell")
if (!ie.document.forms[3].socks0){ WshShell.Popup("NO");}
else {
ie.document.links[29].click();
while (ie.busy) { WScript.Sleep(4000) }
}

   
 
 автор: sim5   (14.10.2007 в 18:55)   письмо автору
 
   для: nill   (14.10.2007 в 18:45)
 

У меня, непример, это вообще работать не будет, ActiveX компоненты - только с мого согласия, а значит ваши старания могут быть впустую, зачем? Я ведь не один такой.

   
 
 автор: nill   (15.10.2007 в 04:48)   письмо автору
 
   для: sim5   (14.10.2007 в 18:55)
 

ну а как тогда открыть новое окно и начать грузит туда сайт
с помощью какого оператора это можно сделать это?

   
 
 автор: sim5   (15.10.2007 в 05:03)   письмо автору
 
   для: nill   (15.10.2007 в 04:48)
 


window.open('URL','nameWnd','parametrs')

   
 
 автор: nill   (15.10.2007 в 06:23)   письмо автору
 
   для: sim5   (15.10.2007 в 05:03)
 

вставил в свой скрипт но он грузит только сайт в новом окне
а копировать значение в поля формы не хочет
ну и на кнопки тоже не нажимает
предупреждение об ActiveX все так же выскакивает

<script type="text/javascript">
var ie;
ie = window.open("http://www.site.net","subwindow","height=800,width=800");
while (ie.busy) { WScript.Sleep(8000) }
ie.document.forms[0].nick.value = "nick";
ie.document.forms[0].password.value = "fdf43fdd";
ie.document.forms[0].submit();

</script>

   
 
 автор: sim5   (15.10.2007 в 06:27)   письмо автору
 
   для: nill   (15.10.2007 в 06:23)
 

Естественно, что вы хотите, вы же продолжаете использовать WSH, насколько я пологаю. Что, из чего и куда вы хотите копировать?

   
 
 автор: nill   (15.10.2007 в 06:35)   письмо автору
 
   для: sim5   (15.10.2007 в 06:27)
 

а то есть тут у меня идут команды для АсtiveX

вот к примеру эта строчка
ie.document.forms[0].nick.value = "nick";
должна после загрузки сайта записать в самую первую форму в поле с именем nick значение nick

ie.document.forms[0].submit();
ну а эта должна была нажать на кнопку

   
 
 автор: sim5   (15.10.2007 в 06:41)   письмо автору
 
   для: nill   (15.10.2007 в 06:35)
 

Если вы продолжаете использовать АсtiveX, то и не спрашивайте почему браузер "сердится", от того что вы открываете окно через window.open, вы не стали "более замаскированным".
Я у вас не спрашиваю про строчки, я у вас спрашиваю - от куда вы хотите получить данные и куда их вставить. Кстати зачем для этого грузить сайт в другое окно?

   
 
 автор: nill   (15.10.2007 в 06:54)   письмо автору
 
   для: sim5   (15.10.2007 в 06:41)
 

так ок щас все расскажу

если в идеале то данные буду получать из php сценария и потом вставлять с помощью Javascript в определенные поля сайта и потом щелкать по нему он выдаст какой то результат с помощью javascript я получу значение а потом с помощью php запишу в базу данных

но так как сейчас ничего не работает хочу просто руками написаное значение занести в определенное поле сайта но только чтобы файл из которого вызываеться сценарий javascript был не js а скажем html

если window.open это тоже ActiveX а судя по выскакивающим предупреждением это так и есть то даже если я его буду использовать за место new ActiveXObject("InternetExplorer.Application"); никакой разницы не будет ?? то есть решение только одно как то убрать эти выскакивающие предупреждения в броузере или искать новый ?

FireFox кстати непомог он вообще с ActiveX как то странно работает

ну можно и не грузить сайт в новое окно так просто было бы нагляднее когда буду использовать php но если в этом проблема то можно в то же окно грузить

   
 
 автор: sim5   (15.10.2007 в 07:16)   письмо автору
 
   для: nill   (15.10.2007 в 06:54)
 

Значит так.
1. В русском языке, кроме букв, есть еще точка и запятая, расставляйте их по смыслу, иначе понять то, чего вы хотите, очень затруднительно.
2. window.open это метод в JS, он никогда не был и не будет ActiveX компонетом! Вы просто в сценарии продолжаете использовать Windows Script Host, вот от куда жалобы браузера, а JS здесь не причем.
3. Я так и не понял, что к чему. Если вы хотите получить на странице данные с сервера, вставить их на страницу, то накой ляд вам открывать новое окно для этого, или в одно (главное) они не помещаются?
4. Если вся эта затея с новым окном ради того, чтобы не перегружать страницу - есть AJAX для этого.

В идеале, РНР сценарий пишите вы, пожалуйста, выводите с его помощью на страницу все что вам заблагорассудится. Нет проблем уже на полученной странице, с помощью JS проделывать какие либо манипуляции с данными, а для отправки результата этих манипуляций на сервер достаточно обыкновенной формы на этой же странице.

Может я и не прав, но мне кажется, что вы изобретаете что-то лишнее и не нужное.

   
 
 автор: nill   (15.10.2007 в 07:26)   письмо автору
 
   для: sim5   (15.10.2007 в 07:16)
 

да нет если бы я сам писал сайт на который захожу то вы правы,
но я захожу на чужой сайт из интернета, туда ввожу свои данные и получаю результат, вот в этом проблема,
а с этим ActiveX ничего не работает

то есть window.open это уже ActiveX ?
загрузил пример из книги с window.open, там ничего такого нет просто открываеться окно с кнопкой, но всеравно вылазиет предупреждение об ActiveX

Вообщем ладно на эти предупреждения, вопрос то остаеться, вот скажем я открыл окно и загрузил туда сайт, хоть с помощью window.open, хоть так как я написал в самом начале,
но как теперь поля то заполнять и нажимать на кнопки ??

   
 
 автор: nill   (15.10.2007 в 07:41)   письмо автору
 
   для: nill   (15.10.2007 в 07:26)
 

<html>
<head>
<title>window.closed Property</title>
<script type="text/javascript">
// initialize global var for new window object
// so it can be accessed by all functions on the page
var newWind;

// make the new window and put some stuff in it
function newWindow() {
newWind = window.open("","subwindow","height=200,width=200");
setTimeout("finishNewWindow()", 100);
}
function finishNewWindow() {
var output = "";
output += "<html><body><h1>A Sub-window</h1>";
output += "<form><input type='button' value='Close Main Window'";
output +="onclick='window.opener.close()'></form></body></html>";
newWind.document.write(output);
newWind.document.close();
}

// close subwindow
function closeWindow() {
if (newWind && !newWind.closed) {
newWind.close();
}
}
</script>
</head>
<body>
<form>
<input type="button" value="Open Window"
onclick="newWindow()" /><br />
<input type="button" value="Close it if Still Open"
onclick="closeWindow()" />
</form>
</body>
</html>


это пример из книга на который броузер тоже ругаеться что это ActiveX

   
 
 автор: sim5   (15.10.2007 в 07:42)   письмо автору
 
   для: nill   (15.10.2007 в 07:26)
 

>то есть window.open это уже ActiveX ?

Нет. Я уже сказал об этом. Windows Script Host, который вы пытаетесь использовать, это работа с ActiveX. Сайт открываемы вами, также может использовать ActiveX, о чем вас и будет предупреждать браузер.

1. Если вам ничего не разрешено вводить на странице ЧУЖОГО сайта, то вы хоть как отурывайте окно, этого вы сделать не сможете.
2. Если вам разрешено это делать, то для этого вам будет выдана форма, вводите и нажимайте на кнопки.

Если верен первый вариант, а вам очень хочется - вы что изобретаете?

PS. Вот эта хрень для чего - setTimeout("finishNewWindow()", 100); ?

PPS. Не вставляйте никогда себе чужого кода, которого вы не понимаете. Чтобы открыть новое окно, достаточно одной строчки. Назовите URL сайта, который вы открываете в новом окне - надеюсь вы на нем хотите кнопки нажимать.

   
 
 автор: nill   (15.10.2007 в 07:51)   письмо автору
 
   для: sim5   (15.10.2007 в 07:42)
 

Мне разрешенно вводить даные
Но я хочу это автоматизировать
как я уже писал, все работает и вводиться и нет никаких предупреждений, если только у файла расширение .js

setTimeout("finishNewWindow()", 100);
ну это таймаут какойто :)

я как бы не буду спорить что есть а что не есть ActiveX
проблема в том как это обойти и вставить свои данные
я даже согласен нажимать и на предупреждения выскакивающие об ActiveX, но только чтобы мои данные потом вводились
А как это сделать непонятно

   
 
 автор: sim5   (15.10.2007 в 07:54)   письмо автору
 
   для: nill   (15.10.2007 в 07:51)
 

Вы бота хотите написать? Тогда это не ко мне.

   
 
 автор: nill   (15.10.2007 в 07:58)   письмо автору
 
   для: sim5   (15.10.2007 в 07:54)
 

что такое бот ?
как бы что я хочу я написал если это бот то значит так и есть

а хотябы это вообще возможно сделать или нет не в курсе ?

   
 
 автор: coloboc66   (14.10.2007 в 18:45)   письмо автору
 
   для: sim5   (14.10.2007 в 18:27)
 

Скачайте и установите FireFox с расширением поиска ошибок - в ИЕ скрипты очень тяжело отлаживать, а когда отладите - окажется, что в других броузерах работать не будет...

   
 
 автор: nill   (14.10.2007 в 18:52)   письмо автору
 
   для: coloboc66   (14.10.2007 в 18:45)
 

coloboc66
ну а что отлаживать
в одном и том же броузере только из за расширения файла то работает то нет
что тут отлаживать ?
может как то можно заставить IE 6.0 не реагировать на ActiveX совсем

ведь когда запускаю файл с расширением .js то вообще никаких предупреждений нет
а если скажем с .html то целых два раза спрашивает разрешения загрузить ActiveX

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования