cef webview創建瀏覽器,實現ajax異步加載數據異常 NETWORK_ERROR: XMLHttpRequest Exception 101


錯誤代碼:

web = new WebView("https://www.baidu.com/", new BrowserSettings());

                web.Dock = DockStyle.Fill;

                web.LoadCompleted += (o, e) =>

                {

                    web.ExecuteScript(Properties.Resources.getUrlJs);

                };

                //web.CreateControl();

                //ali.WindowState = FormWindowState.Minimized;

                //ali.ShowInTaskbar = false;

                ali.Controls.Add(web);

                ali.Show();

部分getUrlJs字符串(網上抄的):

function getContent()

{

  var resJson='';

var url=getUrl(a);

var xmlhttp;

if (url=="")

  {

  document.getElementById("txtHint").innerHTML="";

  return;

  }

if (window.XMLHttpRequest)

  {

  xmlhttp=new XMLHttpRequest();

  }

else

  {

  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

  }

xmlhttp.onreadystatechange=function()

  {

  if (xmlhttp.readyState==4 && xmlhttp.status==200)

    {

     resJson= xmlhttp.responseText;

    }

  }

xmlhttp.open("GET",url,false);

xmlhttp.send();

return resJson;

}

當執行 string content = web.EvaluateScript(data + "getContent();").ToString();的時候,

程序就報了 NETWORK_ERROR: XMLHttpRequest Exception 101異常

 

查資料說是跨域操作了,什么什么的,我沒繼續查下去,因為並非js老手。

最后查到原因是因為我第一次加載的https加密鏈接,……改成http就沒事了………

 

渣渣勿噴。。

 

 

 

web = new WebView("http://api.m.taobao.com/", new BrowserSettings());//http://api.m.taobao.com/                web.Dock = DockStyle.Fill;                web.LoadCompleted += (o, e) =>                {                    web.ExecuteScript(Properties.Resources.getUrlJs);                };                //web.CreateControl();                //ali.WindowState = FormWindowState.Minimized;                //ali.ShowInTaskbar = false;                ali.Controls.Add(web);                ali.Show();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM