ホームページ  >  記事  >  WeChat アプレット  >  WeChat ミニプログラム開発のための必見の 40 のヒントのまとめ

WeChat ミニプログラム開発のための必見の 40 のヒントのまとめ

高洛峰
高洛峰オリジナル
2017-03-14 17:42:062170ブラウズ

この記事は主に、WeChat ミニ プログラムを開発する際に必見の 40 のヒントをまとめた関連情報を紹介します。WeChat ミニ プログラムを学習または使用するすべての人にとって、一定の参考になると思います。必要な場合は特にお勧めします。友達が来て一緒に見ることができます。

はじめに

WeChat「ミニプログラム」が正式に開始されて 1 週間が経過し、関連する話題が過熱し続けています。 Alipayの「ミニプログラム」開発のニュースはすぐに暴露され、多くのネットユーザーはこの勢いが既存の「APP帝国」に挑戦するのではないかと冗談を言った。さて、このような熱いミニ プログラムに直面して、WeX5 モバイル開発クラウドはネットワーク全体を検索した結果、注意が必要な 40 の事項を網羅したミニ プログラム開発者必読の記事を選択しました。実践的なミニプログラム開発における技術的なポイントをご紹介します。

Q: スクリプト内でウィンドウやその他のオブジェクトを使用できず、コンポーネントをスクリプト内で操作できないのはなぜですか?

Q: zepto/jquery
が使用できないのはなぜですか

A: zepto/jquery
windowオブジェクト

documentオブジェクトを使用するため、使用できません。
Q: wx.navigateTo でページを開くことができません

A: アプリケーションは同時に 5 ページしか開くことができません。5 ページを開いた後は、wx.navigateTo を開くことはできません。新しいページが正常に開きました。マルチレベルの対話を避けるか、wx.re<a href="http://www.php.cn/wiki/1275.html" target="_blank">dir</a><a href="http://www.php.cn/code/658.html" target="_blank">ectTo</a> を使用してください

Q: スタイル シートはカスケード セレクターをサポートしていません

A:WXSS

サポートされています で始まるクラス セレクター wx.navigateTo不能正常打开新页面。请避免多层级的交互方式,或者使用wx.re<a href="http://www.php.cn/wiki/1275.html" target="_blank">dir</a>ectTo

Q:样式表不支持级联选择器

A:WXSS支持以.开始的类选择器

Q:本地资源无法通过 css 获取

A:<a href="http://www.php.cn/wiki/895.html" target="_blank">background-image</a>:可以使用网络图片,或者 base64,或者使用565b296a3970f2fc50e58c1bb915cb79标签

Q:如何修改窗口的背景色

A:使用 page 标签选择器,可以修改顶层节点的样式

page { 
  display: block; 
  min-height: 100%; 
  background-color: red;
}

Q:为什么上传不成功

A:为了提升体验流畅度,编译后的代码包大小需小于 1MB ,大于 1MB 的代码包将上传失败。

Q:HTTPS 请求不成功

A:tls 仅支持 1.2 及以上版本

Q:网络请求的 referer

A:网络请求的 referer 是不可以设置的,格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid, {version} 为小程序的版本号,版本号为 0 表示为开发版。

Q:不能直接操作 Page.data

A:避免在直接对 Page.data 进行赋值修改,请使用 Page.<a href="http://www.php.cn/code/8209.html" target="_blank">set</a>Data 进行操作才能将数据同步到页面中进行渲染怎么获取用户输入

能够获取用户输入的组件,需要使用组件的属性bindchange将用户的输入内容同步到 AppService。

<input id="myInput" bindchange="bindChange" /><checkbox id="myCheckbox" bindchange="bindChange" />
var inputContent = {}
 
Page({
 data: {
 inputContent: {}
 },
 bindChange: function(e) {
 inputContent[e.currentTarget.id] = e.detail.value
 }
})

Q:微信小程序支持fetch或者promise吗?

A:promise工具目前不支持,fetch 客户端不支持 工具下个版本保持统一。

Q:touchmove滑动事件里面的currentTarget. id值不变动。

A:ouchmove / touchend 事件的 target / currentTarget 会永远是 touchstart 时的 target / currentTarget 。

Q:wx.request的POST方法的参数传输服务器接收不到的bug。

A:wx.request post 的 content-type 默认为 ‘application/<a href="http://www.php.cn/wiki/1488.html" target="_blank">json</a> '

如果服务器没有用到 json 解释的话,可以把 content-type 设置回 urlencoded

🎜🎜Q: CSS を通じてローカル リソースを取得できません🎜🎜🎜🎜A: <a href="http://www.php.cn/wiki/895.html" target="_blank">背景- image🎜</a>: ネットワーク image🎜 または Base64 を使用できます。または < ;image/> タグを使用します 🎜🎜🎜🎜Q: ウィンドウの背景色を変更する方法 🎜🎜🎜🎜A: ページ タグ セレクター🎜、トップ ノードのスタイルを変更できます🎜🎜

🎜

wx.request({
....
method: "POST",
header: {
"content-type": "application/x-www-form-urlencoded"
},
...
})
🎜🎜🎜🎜Q: なぜ
アップロードの失敗🎜🎜🎜🎜🎜A: エクスペリエンスのスムーズさを向上させるには、コンパイルされたコード パッケージのサイズを以下にする必要があります。 1MB 未満のコード パッケージはアップロードできません。 🎜🎜🎜🎜Q: HTTPS リクエストが失敗しました🎜🎜🎜🎜A: TLS はバージョン 1.2 以降のみをサポートします🎜🎜🎜🎜🎜Q: ネットワーク リクエストのリファラー🎜🎜🎜A: ネットワーク リクエストのリファラーは、設定、形式 https://🎜servicewechat.com/{appid}/{version}/ に固定page-frame.html、ここで、{appid} はミニ プログラムの appid、{version} はミニ プログラムのバージョン番号、バージョン番号 0 は開発バージョンを示します。 🎜🎜🎜Q: Page.data は直接操作できません🎜🎜🎜🎜A: Page.data を直接割り当てたり変更したりすることは避け、Page.<a href="http:///%20www.php.cn/code/8209.html" target="_blank">set🎜Data </a> レンダリングのためにデータをページに同期する操作を実行します。 ユーザー入力の取得方法🎜🎜🎜 ユーザー入力を取得できるコンポーネントを使用するには、コンポーネントの 属性 🎜bindchange を使用して、ユーザーの入力コンテンツを AppService に同期する必要があります。 🎜🎜

🎜

complete: function (res) {
 
// complete
wx.hideToast();
}
🎜🎜🎜🎜Q: WeChat アプレットはフェッチまたはプロミスをサポートしていますか?🎜🎜🎜🎜A: プロミス ツールは現在サポートされておらず、フェッチ クライアントはツールをサポートしていません次のバージョンでは統合されます。 🎜🎜🎜🎜Q: touchmove スライディング
イベント 🎜 の currentTarget.id 値は、変化。 🎜🎜🎜🎜A: ouchmove / touch end🎜 イベントの target / currentTarget が常にターゲットになりますtouchstart /currentTarget の。 🎜🎜🎜🎜Q: wx.requestのPOSTメソッドのパラメータ送信サーバーが受信できない不具合があります。 🎜🎜🎜🎜A: wx.request 投稿の content-type のデフォルトは「application/<a href="http://www.php.cn/wiki/1488.html" target="_blank">」です。 json 🎜</a> '🎜🎜🎜サーバーが json 解釈を使用しない場合は、content-type urlencoded に戻すことができます。 🎜🎜

wx.request({
....
method: "POST",
header: {
"content-type": "application/x-www-form-urlencoded"
},
...
})

Q:wx.uploadFile在手机上返回http码403。

A:安卓的微信升级到6.5.2及其以上版本。

Q:小程序SVG支持吗?

A:image的src放远程svg可以,background-image里也可以。

Q:wx.request返回statusCode两端类型不一致。

A:确实有这个问题,稍后的版本将会修复。

Q:关于组件的动态生成与销毁?

A:不支持动态生成组件,但可以用 wx:for 去渲染多个。

Q:小程序支持热更吗?

A:不支持开发者自行更替。

Q:一些接口的回调IOS和Android不一致,例如支付接口,用户取消支付后,ios只回调complete方法,android则回调fail方法,官方文档也没有任何回调说明,造成开发很困难;类似的还有图片选择接口,分享接口等等。

A:支付接口,用户取消支付后,ios只回调complete方法,android则回调fail方法,问题已记录,多谢反馈。

Q:如果icon已经在服务器上了,想用直接访问网址的方法加载图片进来这样可以吗?

A:不能。

Q:ipad不能使用小程序?

A:暂时不支持ipad打开小程序。

Q:小程序音频视频播放器问题 。1、能够只隐藏进度条跟时间吗?2、现在iOS平台上的时间显示是0:00,但是android上会显示错误码,能够通过什么设置修改吗?

A:1:下个版本会修改这里的交互,不显示进度条和时间。2:6.5.3 版本已修复此问题。

Q:拍照窗口可以加浮层吗?

A:暂时不支持。

Q:开发者工具经常报jsEngineScriptError错误,会导致页面白屏。

A:移步下载最新 0.12.130400 版本的开发工具试试

Q:开发者工具里面,SPA页面,更改title无效。

A:wx.setNavigationBarTitle可以通过 API 改变导航栏标题。

Q:请问小程序页内支持长按保存图片或分享图片吗?

A:目前没有这个功能。

Q:关于swiper中的current问题。如果在新的版本中,直接设current,会产生的效果是:无论从哪个swiper元素点击进去,都会显示swiper第一个子元素的值。

A:目前swiper在处理swiper-item动态变化的情况时有一些bug,会很快修复的。

Q:小程序能引用自己服务器上的wxss和js文件吗?

A:不能,无法执行远程代码。

Q:苹果7,提示内部错误,内存占用过多。

A:页面做的预加载,列表中有图片,图片渲染的太多了,解决办法就是不当屏展示的图片,不让它渲染。

Q:小程序体验者安卓卡在加载页面进不去,IOS可以进去。

A:这是android微信客户端旧版本的bug, 请下载最新版本的 6.5.3 客户端。

Q:请问目前微信小程序支持蓝牙吗?

A:目前不支持。

Q:分享功能真机没有效果?

A:这是android微信客户端旧版本的bug, 请下载最新版本的 6.5.3 客户端。

Q:强制使用https,开发和测试环境下怎么联调和测试?

A:「微信web开发者工具」->「项目」->「开发环境不校验请求域名及TLS版本」。

Q:wx.showToast()方法无效。

调用wx.request请求网络然后在

complete: function (res) {
 
// complete
wx.hideToast();
}

在成功方法里面如果要进行showToast的时候感觉无效,并没有弹出提示框。

A: success コールバックは complete の前に呼び出されます。success showToast が使用される場合、次のステップは complete HideToast です。 >。showToast がフラッシュされます。 success 回调调用是在 complete 之前的,如果在 success showToast,下一步 complete hideToast 就会被冲掉 showToast

Q:picker 组件中的文字大小是否支持修改?

A:不支持修改。

Q:tabBar的图片在android和ios上面大小差异太大。

A:这是android微信客户端旧版本的bug, 请下载最新版本的 6.5.3 客户端

Q:tabbar 页面返回问题。非首页的tabbar 页面 点击左上角返回箭头时如何返回到小程序首页? 现在是直接退出小程序了

A:创建新页面时用 navigateTo 才会新建新页面,同时保留旧页面,如果用 redirectTo 是在当前页面内跳转。

Q:问下 wx.request() 怎么设置成同步。

A:reqeust是发起网络请求。没有同步接口。

Q:最新mac版工具不可用,进来就出现获取appservice 失败。

A:工具设置中选择直接链接网络 。或者 系统中的代理软件设置工具直接链接网络。

Q:真机 view overflow-y下滑会很卡。

A:父层需要 <a href="http://www.php.cn/wiki/902.html" target="_blank">position</a>:relative;

Q: ピッカー コンポーネントのテキスト サイズは変更をサポートしていますか?

🎜A: 変更はサポートされていません。 🎜🎜🎜Q: tabBar 画像のサイズは、Android と iOS で大きく異なります。 🎜🎜🎜A: これは Android WeChat クライアントの古いバージョンのバグです。最新バージョンの 6.5.3 クライアントをダウンロードしてください。🎜🎜🎜Q: タブバー ページが戻る問題。ホームページ以外のタブバー ページの左上隅にある戻る矢印をクリックしたときに、ミニ プログラムのホームページに戻るにはどうすればよいですか? 次に、アプレットを終了します🎜🎜🎜A: 新しいアプレットを作成しますpage navigateTo を使用すると、新しいページが作成され、redirectTo を使用すると、現在のページ内にジャンプします。 🎜🎜🎜Q: wx.request() を同期に設定する方法。 🎜🎜🎜A: リクエストはネットワークリクエストを開始することです。同期インターフェースはありません。 🎜🎜🎜Q: 最新の Mac バージョンのツールは利用できず、入力時に appservice の取得に失敗するというメッセージが表示されます。 🎜🎜🎜A: ツール設定で [ダイレクト リンク ネットワーク] を選択します。または、システム内のプロキシソフト設定ツールから直接ネットワークに接続します。 🎜🎜🎜Q: 実機ビュー overflow-y は次の場合に非常にスタックします。滑り落ちます。 🎜🎜🎜A: 親レイヤーには <a href="http://www.php.cn/wiki/902.html" target="_blank">position</a>:relative が必要です; 追加後はスタックしなくなりました。 🎜🎜🎜🎜

以上がWeChat ミニプログラム開発のための必見の 40 のヒントのまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。