CppWebBrowser и динамическое HTML (ошибка в сценариях)

(1/1)

direk:
Такая ситуация - програма создает данимические HTML странички.
Если это простой HTML - CppWebBrowser1 отображает их без проблем.
Но для красоты интерфейса я использую в том числе и jQuery-скрипты.

Код
 
TStringStream *str2 = new TStringStream();
str2->LoadFromFile(L"c:\\test.html");
Variant v;
IHTMLDocument2 *HTMLDoc = NULL;
 
CppWebBrowser1->Document->QueryInterface(IID_IHTMLDocument2,(LPVOID*)&HTMLDoc);
v = VarArrayCreate( OPENARRAY( int, ( 0, 0 ) ), varVariant );
v.PutElement(str2->DataString, 0);
HTMLDoc->write(PSafeArray(TVarData(v).VArray));
 
HTMLDoc->close();
delete  str2;
 
Проблема возникает вот здесь : $(document).ready(function()

Код
<script type='text/javascript'>
        $(document).ready(function(){
$('.fancybox').fancybox();
});
</script>
Ругается на: $ не определено.

При том,  если из StringStream HTML-страницу выгрузить в файл
и загрузить его потом в WebBrowser1 через Navigate, то ошибок не выдает и
скрипты выполняються.
 Код
ppWebBrowser1->Navigate(L"c:\\test.html");
Теперь вопрос - почему, если из файла, скрипты выполняются, а
если тот же файл загрузить в поток и потом в  WebBrowser , то ругается?
И как обойти эту ошибку, если возможно?

direk:
Поспешил задавать вопрос. Нашел решение:

Код
TMemoryStream *ms = new TMemoryStream;
   TStringList *lst = new TStringList;
   IPersistStreamInit *strm;
 
   lst->Text = HTMLText;
   lst->SaveToStream(ms);
 
   ms->Position = 0;
   _di_IStream adapter(*(new TStreamAdapter(ms, soReference)));
   if (SUCCEEDED(cppWB->Document->QueryInterface(IID_IPersistStreamInit, (void **)&strm)))
       strm->Load(adapter);
 
   delete ms, strm, lst;
Так все работает. Тему можна закрыть.

Навигация

[0] Главная страница сообщений