1

Я пытаюсь запустить команду JavaScript из командной строки, в Windows 7, используя командный файл. Пакетный файл запускается от имени администратора.

Я пытаюсь открыть окно Internet Explorer 8, как часть более длинной процедуры. Если я просто вызываю IEXPLORE.EXE в пакетном файле без использования JavaScript, Internet Explorer 8 открывается нормально:

"C:\Program Files\Internet Explorer\IEXPLORE.EXE"

Если я также позвоню по URL, откроется указанная страница:

"C:\Program Files\Internet Explorer\IEXPLORE.EXE" http://www.google.com

Однако, если я пытаюсь использовать JavaScript в командном файле, чтобы контролировать размер и расположение окна Internet Explorer 8, окно Internet Explorer начинает открываться, но до того, как завершается открытие процедуры, прерывается с сообщением об ошибке «Невозможно загрузить. Неопределенная ошибка.«:

"C:\Program Files\Internet Explorer\IEXPLORE.EXE" javascript:window.open("http://www.google.com","newwin","left=10,top=10,width=520,height=250");

Активные сценарии включены в настройках Internet Explorer.

Похоже, что ошибка не вызвана файлом DOCOBJ.DLL, который поставляется с более старыми версиями Microsoft Office. Несмотря на то, что я установил Office в своей системе, в которой работает Internet Explorer 8, поэтому была зарегистрирована старая версия DOCOBJ.dll, с тех пор я зарегистрировал ее и перерегистрировал IEPROXY.DLL, но ошибка с window.open() сохраняется -

"C:\Program Files (x86)\Internet Explorer\ieproxy.dll"

Кто-нибудь может подсказать, что я пропускаю?

3 ответа3

1

Спасибо, Меликот. Вы поставили меня на правильный путь. Много проб и ошибок породило это решение в Windows 7.

Это использует выход кареты.

Заменить все экземпляры # на <

Содержание OPEN.BAT -

 

    echo ^#html^> >> %temp%\temp.htm

    echo ^#head^> >> %temp%\temp.htm

    echo ^#title^>^#/title^> >> %temp%\temp.htm

    echo ^#script language='JavaScript' type='text/javascript'^>function
    run(){window.open('','_self');var t = openWin(newWin())}function
    newWin(){window.open('http://www.bbc.co.uk/iplayer/console/b007jqsz','','left=10,top=10,width=400,height=600,toolbar=0,location=0,directories=0,status=0,scrollbars=0');window.close()}^#/script^> >> temp%\temp.htm

    echo ^#/head^> >> %temp%\temp.htm

    echo ^#body onload='run()'^> ^#/body^> >> %temp%\temp.htm

    echo ^#/html^> >> %temp%\temp.htm

    "C:\Program Files\Internet Explorer\IEXPLORE.EXE" %temp%\temp.htm

 
0

javascript: не является стандартной схемой URL (например, http , https , ftp и т. д.). Скорее, всякий раз, когда браузер встречает его во время операции щелчка, он обрабатывает следующий оператор как оператор JavaScript и выполняет его. Поэтому вы не можете активировать, если снаружи.

0

Вот мой пересмотренный .Пакетный файл BAT OPEN.BAT с функцией синхронизации добавлен для отсрочки закрытия открывающего окна до полного открытия дочернего окна.

Заменить все экземпляры # на <

echo ^ # html ^> >>% temp%\temp.htm

echo ^ # head ^> >>% temp%\temp.htm

echo ^ # title ^> ^ #/title ^> >>% temp%\temp.htm

echo ^ # script language = 'JavaScript' type = 'text/javascript' ^> function run(){window.open('', '_ self'); var t = openWin(newWin())} функция newWin(){ window.open(' http://www.bbc.co.uk ', '', 'width = 382, height = 666, left = 10, top = 10, панель инструментов = 0, location = 0, status = 0, scrollbars = 0 '); setTimeout(' window.close()', 5000)} ^ #/script ^> >>% temp%\temp.htm

echo ^ #/head ^> >>% temp%\temp.htm

echo ^ # body onload = "run()" ^> ^ #/body ^> >>% temp%\temp.htm

echo ^ #/html ^> >>% temp%\temp.htm

"C:\Program Files (x86)\Internet Explorer\IEXPLORE.EXE"% temp%\temp.htm

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .