2010-08-15 46 views
0

我似乎無法讓所有的JavaScript功能對WebBrowser控件工作(下面的鏈接)在C++ WebBrowser控件中支持Javascript嗎? - 同域繞行?

這可能可能是由於同域的問題 - 本地HTML文件有一些Ajax外部服務器上調用地址。有沒有辦法修改控件以省略相同的域名?

http://msdn.microsoft.com/en-us/library/aa752040(VS.85).aspx

+0

(評論不回答,因爲不是直接答案)請不要使用WebBrowser控件。無論是否嵌入Internet Explorer都是一項重大的安全風險,絕不應在任何軟件中使用。 – 2010-08-15 09:56:20

+0

那麼爲網站編寫桌面包裝的更好方法是什麼? – ina 2010-08-15 21:03:29

回答

0

的XMLHttpRequest(AJAX)不起作用跨域,除非你的代理您的要求是在同一個域,雖然這不會對本地HTML文件的工作,從光盤上運行,而不服務器。

另一種方法是JSONP,它可以在任何地方工作。

看到:What is JSONP all about?

0

是的,你可以在主機上執行IInternetSecurityManager::GetSecurityId爲腳本的URL要放在同一個域中返回相同的值。

+0

因爲你是一個vC++ mvp,你對上面評論中提到的@Delan的安全問題有什麼看法? – ina 2010-08-15 21:06:31

+0

WebBrowser控件設計爲僅以完全信任方式工作。如果您針對不受信任的網站運行瀏覽器,我建議您以較低的完整性級別啓動您的過程。有關詳細信息,請參閱一體式代碼框架的CreateLowIntegrityProcess示例。 – 2010-08-21 17:22:07