내 컴퓨터에있는 자바 스크립트를 실행하기 위해 IE8 용 브라우저 도우미 개체를 만들었습니다. 브라우저 확장은 다른 브라우저에서 작동하는 것처럼. 다음 코드를 실행하려고합니다.
IHTMLWindow2* pWindow;
doc->get_parentWindow(&pWindow);
hr = pWindow->execScript((BSTR)"var d=window.document,\
s=d.createElement('script'),\
h=d.getElementsByTagName('body')[0];\
s.src='file:///L:/prg/Web/ieplugin/ieplugin.js';\
h.appendChild(s);",
(BSTR)"JavaScript", &vResult);
그러나 결과는 E_INVALIDARG이며, 대부분의 경우 스크립트 주소로 인해 발생합니다. 인터넷 영역에 대한 보안 설정을 낮추지 않고 내 컴퓨터에서 스크립트를 실행할 수 있습니까? 신뢰할 수있는 사이트에 대한 보안 설정을 최소로 설정하고 신뢰할 수있는 사이트 'file : // localserver'에 추가했지만 아무 소용이 없습니다.
편집 :보다 구체적으로 IE 창에서 다음과 같은 오류 메시지가 나타납니다.
Message: Invalid character
Line: 1
Char: 1
Code: 0
URI: file:///L:/prg/Web/ieplugin/ieplugin.js
Internet Explorer는 비 File : // 제공 페이지 내에서 file : // 프로토콜 URI의 사용을 허용하지 않습니다. 이 변경 사항은 2011 년에 적용되었으며 INTERNET 및 RESTRICTED ZONE 사이트에만 적용됩니다.
자세한 내용은 http://blogs.msdn.com/b/ieinternals/archive/2011/08/12/internet-explorer-9.0.2-update-changes-file-protocol-and-cookie-naming.aspx 를 참조하세요.
이 문제를 해결하려면 대신 확장에서 대상 스크립트의 내용을 BSTR로로드하고 해당 BSTR을 사용하여 execScript로 전달하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다