|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
TWebBrouser не воспринимает скрипт в локальном файле
Просто мольба о помощи, уже на недели счет пошел, как бьюсь с одной задачей.
Свел кратко вот к чему: через DOM-модель нужно запустить в компоненте TWebBrouser html-код, включающий вызов скрипта из файла *.js, лежащего на диске, в той-же папке. Зачем именно так - вопрос отдельный, для работы оффлайн с картами через OpenLayers, если кому интересно. Пример: Код:
var HTMLStr: AnsiString; OL_Val: OleVariant; HTMLWindow_Main: IHTMLWindow2; v: Variant; HTMLDocument: IHTMLDocument2; HTMLStr:= '<html>' + #13#10 + ' <head> ' + #13#10 + ' <body>' + #13#10 + ' <img src="e:\COOP\FOR_OFFER_WEBMAP\ex_openlayers\marker-green.png" alt="HTML" width="50" height="50" />' + #13#10 + ' <script type="text/javascript" charset="UTF-8" src="file:///e:\COOP\FOR_OFFER_WEBMAP\ex_openlayers\OL.js"> </script>' + #13#10 + ' <script type="text/javascript">' + #13#10 + ' var x; ' + #13#10 + ' x = MyInit(); ' + #13#10 + ' document.writeln(x);' + #13#10 + ' </script>' + #13#10 + ' <p> --- </p> ' + #13#10 + ' </body> ' + #13#10 + ' </head> ' + #13#10 + '</html>'; HTMLDocument:=EmbeddedWB1.Document as IHTMLDocument2; v:=VarArrayCreate([0, 0], varVariant); v[0]:=HTMLStr; HTMLDocument.charset:= 'UTF-8'; HTMLDocument.Write(PSafeArray(TVarData(v).VArray)); HTMLDocument.Close; OL_Val:=EmbeddedWB1.Document; OL_Val:=OL_Val.parentWindow; edZoom.Text:=OL_Val.x; Текст OL.js: var myVar; function MyInit () { myVar=55; return myVar; }; Так вот не читает он этот файл OL.js вообще: "символ 1, строка 1, ошибка - недопустимый знак, код 0, URL: file:///e:\.../OL.js". При этом картинку и текст через теги показывает. А IE, как и другие браузеры выполняет нормально! И методом Navigate тот же TWebBrouser показывает нормально! Только вот, это бесполезно, т.к. нужно далее обмениваться переменными со страничкой, т.с. Специально ввел сохранение строки с html-кодом в файл, открываю его браузером - все норм. Да и д.б. норм., стандартнейшая операция. Пробовал: - TWebBrouser и ТEmbeddedWebBrouser; - разные кодировки файла и задание их в коде, создание ".htaccess.txt"; - Win7 и WinХР, IE9..6. Последний раз редактировалось arev, 30.05.2013 в 15:47. |
#2
|
|||
|
|||
не знаю, но можно сохранить html в файл, и поставить относительный путь к js файлу (должно работать),
или можно попробовать считать js файл, и вставить внутрь html целиком >woweook< |
#3
|
|||
|
|||
Цитата:
Цитата:
Цитата:
|
#4
|
|||
|
|||
Цитата:
мегабайтный файл - как я понял не свой, то и не трогать его, html тоже просто сохранить в файл, а для обмена можно написать на дельфи функции/классы, которые отправлют короткие js в webbrowser (тут что-то подобное делал) >woweook< |