日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

捕获程序异常之onerror

發布時間:2023/12/13 综合教程 27 生活家
生活随笔 收集整理的這篇文章主要介紹了 捕获程序异常之onerror 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

問題描述:html5頁面在電腦上打開,功能正常,沒有報錯,一旦嵌進微信或者APP,頁面就卡住了,不好排查js問題。

預期結果:手機微信頁面功能失效時,開發人員在console面板能明確看到出錯信息,出錯鏈接,出錯行號。

解決方案1:window.onerror

探索過程

一、寫一個公用的捕獲js錯誤的autoException.js文件

window.onerror = function(errorMessage, scriptURI, lineNumber,columnNumber,errorObj) { 
  console.log("errorMessage:"+ errorMessage);
  console.log("scriptURI:"+ scriptURI);
  console.log("lineNumber:"+ lineNumber);
  console.log("columnNumber:"+ columnNumber);
  console.log("errorObj:"+ errorObj);
}

首先,在html5頁面引入index.js和autoException.js,接著,在index.js中故意引用一個未定義的變量,刷新頁面,這時會在console面板看到”Script error“報錯。為什么報錯信息是”Script error“,不是我們想看到的出錯信息呢?因為頁面的域名是m.aiyingshi.com,而靜態資源的域名是static.anhouse.com,存在跨域問題,因此先解決資源跨域問題。

二、解決跨域資源共享的問題Cross-Origin Resource Sharing (CORS)

1、在服務端

1 Access-Control-Allow-Origin:*
2 Access-Control-Allow-Credentials:true

2、在前端頁面的script標簽增加crossorigin="anonymous"屬性。anonymous意味著,不需要證件,就可以訪問文件,相當于匿名CORS;如果使用 crossorigin=“use-credentials”,則相當于帶認證的 CORS。

解決方案2:抽象語法樹

使用babel插件對Javascript源代碼生成的AST(抽象語法樹)進行轉換,最終對所有的函數生成try catch包裹代碼。http://foio.github.io/babel-try-catch/

總結

以上是生活随笔為你收集整理的捕获程序异常之onerror的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。