У меня есть программа, которая хорошо работает на IE6, а теперь на IE8 это не так!
Я использую «IWebBrowser2: navigate2», чтобы выполнить функцию JavaScript, которая находится на веб-странице
<script language="javascript">
function LocalSubmit(i) {document.form1.MediaCode.value=i; document.form1.submit();}
</script>
Пример: javascript: LocalSubmit («555»);
Я получаю сообщение об ошибке «Windows Internet Explorer», в котором говорится: «Не удается найти« javascript: LocalSubmit (‘555’) ». Убедитесь, что путь или Интернет-адрес указаны правильно.
Итак, я хотел бы знать, как я делаю это правильно? то есть поместил указанный javascript: lines в качестве «url» для перехода к элементу управления IWebBrowser2.
void CHtmlCtrl::Navigate(LPCTSTR lpszURL, DWORD dwFlags /* = 0 */,
LPCTSTR lpszTargetFrameName /* = NULL */ ,
LPCTSTR lpszHeaders /* = NULL */, LPVOID lpvPostData /* = NULL */,
DWORD dwPostDataLen /* = 0 */)
{
CString strURL(lpszURL);
COleSafeArray vPostData;
if (lpvPostData != NULL)
{
if (dwPostDataLen == 0)
dwPostDataLen = lstrlen((LPCTSTR) lpvPostData);
vPostData.CreateOneDim(VT_UI1, dwPostDataLen, lpvPostData);
}
HRESULT res;res = m_pBrowserApp->Navigate2(COleVariant(strURL, VT_BSTR), COleVariant((long) dwFlags, VT_I4), COleVariant(lpszTargetFrameName, VT_BSTR),
vPostData, COleVariant(lpszHeaders, VT_BSTR));
Tks!
Задача ещё не решена.