4
我在我的網頁有這個WebBrowser
:WPF web瀏覽器加載JavaScript的
<WebBrowser HorizontalAlignment="Stretch" Name="Browser"
VerticalAlignment="Stretch" Grid.Column="1"/>
現在,經過我打開一個網頁,我想與注入JavaScript
代碼:
var doc = (HTMLDocument)Browser.Document;
var head = doc.getElementsByTagName("head").Cast<HTMLHeadElement>().First();
var script = (IHTMLScriptElement)doc.createElement("script");
script.text = MYSCRIPTCODE;
head.appendChild((IHTMLDOMNode)script);
而且在MYSCRIPTCODE
我有這個功能:
function checkSomething() {
try{
var xhr = new XMLHttpRequest();
var url = 'weburl';
xhr.open("GET", url, true);
xhr.onreadystatechange = function() {
//Somecode
}
xhr.send();
} catch {
}
}
而我運行它:
Browser.InvokeScript("checkSomething");
它的工作完美,並沒有任何問題運行腳本。
我有我加載本地HTML文件,瀏覽器另一種狀態:
Uri uri = new Uri(AppDomain.CurrentDomain.BaseDirectory + @"OfflinePage.html");
Browser.Navigate(uri);
而當我想以運行它:
Browser.InvokeScript("checkSomething");
這條線在腳本中獲取例外 - 權限否認:
xhr.open("GET", url, true);
任何想法爲什麼會發生?爲什麼它在我從web加載的頁面中工作,並且不會在本地html中工作?
謝謝你!這是因爲我將文件加載到瀏覽器 – MTA