原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處
為什么 XXX API 無法使用?
A:因為小程序屏蔽了一部分原生的 API 接口,以下為被屏蔽列表:window document frames self location navigator localStorage history Caches screen alert confirm prompt XMLHttpRequest WebSocket
建議開發者盡可能使用微信官方提供 API 實現相應功能。
小程序如何支持富文本顯示?
小程序沒有提供富文本渲染的接口,需要等待相關接口開放才能顯示富文本,目前普遍做法是去掉文本的 html 標簽,顯示純文本。
例如使用:simplehtmlparser
如何執行動態生成的 javascript 代碼?
小程序屏蔽了 eval 和 Function API,無法執行動態的 javascript 代碼,請避免使用。
如何使用 POST 請求?
原因是瀏覽器 CORS 限制,而且小程序 request API 為了保持和 jQuery 的一致,在發送請求時會自動添加 x-requested-with:XMLHttpRequest 這個 header,你需要在服務端返回上加入響應頭:Access-Control-Allow-Headers: x-requested-with 參考 stackoverflow,否則瀏覽器會認為請求非法。
如何查看前端頁面的源碼?
官方的開發者工具默認屏蔽了 UI 層的右鍵 inspect 功能,可以對官方開發者工具做些修改來開啟右鍵(開啟該功能會造成 wxml 面板不可用以及頁面無法響應點擊等嚴重 bug),首先使用 js-beautify 對代碼批量格式化:
cd /Applications/wechatwebdevtools.app/Contents/Resources/app.nw
find . -type f -name '*.js' -not -path "./node_modules/*" -not -path "./modified_modules/*" -exec js-beautify -r -s 2 -p -f '{}' ;
注釋掉文件 app/dist/app.js 44 行和 app/dist/components/simulator/webviewbody.js 149 行preventDefault 調用。101100 版本還需要修改 package.json 文件,去掉 —disable-devtools。最后重啟開發者工具即可。
小程序支持 es6 嗎?
官方 IDE 101100 已經支持 es6 語法,可以放心使用。
如何讓小程序支持 less/sass?
官方 IDE 暫時還沒有提供 less 和 sass 等 css 預編譯器支持,不建議使用。
微信小程序能當成app的客戶端使用嗎?
理論上講肯定是完全可以的,只是你需要用 Java 和 Object-C 實現同微信一樣的多層通訊邏輯以及各種底層和 UI 上的組件。
歡迎補充~