Rumah  >  Artikel  >  hujung hadapan web  >  Pengenalan kepada WeixinJSBridge, antara muka peribadi kemahiran browser_javascript terbina dalam WeChat

Pengenalan kepada WeixinJSBridge, antara muka peribadi kemahiran browser_javascript terbina dalam WeChat

WBOY
WBOYasal
2016-05-16 15:57:461881semak imbas

Apabila memasuki halaman web WeChat, terdapat tiga titik kecil di sudut kanan atas Ya, itulah yang kami gunakan! Selagi kami menyesuaikan butang di bawah senarai titik, kami boleh berkongsi kandungan kami sendiri sesuka hati.

Nota: (WeixinJSBridge hanya sah pada halaman web yang dibuka dalam WeChat)

Butang 1------Hantar kepada rakan

Salin kod Kod adalah seperti berikut:

fungsi sendMessage(){

WeixinJSBridge.on('menu:share:appmessage', function(argv){ alert("Hantar kepada rakan"); });

}

Dengan cara ini, selagi anda memanggil fungsi sendMessage di suatu tempat, anda boleh menukar respons butang untuk dihantar kepada rakan Klik sekali lagi, dan "Hantar kepada rentetan rakan" akan muncul mudah?

Fungsi kongsi

Salin kod Kod adalah seperti berikut:

WeixinJSBridge.invoke('sendAppMessage',{
"appid":"", "appid" ""
"img_url": imgUrl, "ImgUrl" //Laluan imej semasa berkongsi
"img_width": "120", "Lebar imej
"img_height": "120", "Ketinggian imej
"link":url, "link": url, //Kongsi alamat pautan yang dilampirkan
"desc":"Saya seorang pengenalan",                                                                                                                                                                                 "tajuk":"Tajuk itu tidak boleh lebih ringkas."
}, function(res){/*** Fungsi panggil balik, sebaiknya ditetapkan kepada kosong ***/});

Perhatikan bahawa jika fungsi peribadi WeChat ini dipanggil secara berasingan, ia masuk akal, tetapi! Jika anda memanggilnya secara langsung apabila anda membuka halaman untuk kali pertama, anda mesti mengklik butang kongsi kepada rakan secara manual di sudut kanan atas Selepas buku alamat muncul sekali, anda boleh kembali dan menggunakan ia tidak akan ada masalah Nampaknya Ia sama seperti memulakan sesuatu secara dalaman. Oleh itu, adalah disyorkan untuk membenamkannya terus ke dalam kaedah pengikatan di atas.

adalah seperti berikut:

Salin kod Kod adalah seperti berikut:

fungsi sendMessage(){
WeixinJSBridge.on('menu:share:appmessage', function(argv){

WeixinJSBridge.invoke('sendAppMessage',{

"appid":"", "appid" ""
"img_url": imgUrl, "ImgUrl" //Laluan imej semasa berkongsi
"img_width": "120", "Lebar imej
"img_height": "120", "Ketinggian imej
"link":url, "link": url, //Kongsi alamat pautan yang dilampirkan
"desc":"Saya seorang pengenalan",                                                                                                                                                                                 "tajuk":"Tajuk itu tidak boleh lebih ringkas."
}, fungsi(res){/*** Fungsi panggil balik, sebaiknya ditetapkan kepada kosong ***/

});

});
}

Dengan cara ini, apabila anda mengklik butang Hantar kepada Rakan, anda boleh terus memunculkan buku alamat dan memilih rakan 'tunggal' untuk dikongsi.

Begitu juga, perkongsian kepada Moments juga memanggil fungsi peribadi panggilan, tetapi nama pengikat butang adalah berbeza.

Salin kod Kod adalah seperti berikut:
fungsi sendMessage(){



……//Tinggalkan kod yang dihantar kepada rakan di sini



WeixinJSBridge.on('menu:share:timeline', function(argv){

WeixinJSBridge.invoke('shareTimeline',{

"appid":"", "appid" ""
"img_url": imgUrl, "ImgUrl" //Laluan imej semasa berkongsi
"img_width": "120", "Lebar imej
"img_height": "120", "Ketinggian imej
"link":url, "link": url, //Kongsi alamat pautan yang dilampirkan
"desc":"Saya seorang pengenalan",                                                                                                                                                                                 "tajuk":"Tajuk itu tidak boleh lebih ringkas."
}, function(res){/*** Fungsi panggil balik, sebaiknya ditetapkan kepada kosong ***/});

});

});

}

Perhatikan bahawa on terikat kepada "menu:share:timeline" bukan "menu:share:appmessage". Perkara yang sama berlaku dalam invoke.

Terdapat juga perkongsian Weibo Saya belum mencubanya dan saya tidak tahu sama ada ia berguna Jika anda ingin bermain, cubalah semua perkongsian dilakukan dengan menghubungi akaun WeChat semasa.

Salin kod Kod adalah seperti berikut:

WeixinJSBridge.on('menu:share:weibo', function(argv){
WeixinJSBridge.invoke('shareWeibo',{
"content":dataForWeixin.title ' ' dataForWeixin.url,
"url":dataForWeixin.url
}, fungsi(res){});
});


Jika pelayar WeChat belum dimulakan secara dalaman, semua antara muka tidak akan ditentukan. Untuk mengelakkan ralat panggilan serta-merta selepas masuk, dapatkan acara tindak balas penyiapan permulaan WeChat dan panggil sendMessage untuk mengikat selepas pemulaan selesai.

adalah seperti berikut:

Salin kod Kod adalah seperti berikut:

if(document.addEventListener){
document.addEventListener('WeixinJSBridgeReady', sendMessage, false); document.attachEvent('WeixinJSBridgeReady' , sendMessage); document.attachEvent('onWeixinJSBridgeReady' , sendMessage);

Terdapat juga beberapa fungsi kecil di bawah:

Weixa
WeixinJSBridge.call('showToolbar'); //Tunjukkan bar alat kanan bawah

WeixinJSBridge.call('hideOptionMenu');                                                                                                                                                                                sebelah kanan

Weixa




Saya seorang pemula, saya telah selesai menulis, dan ia tidak bagus, jadi sila bertimbang rasa!


Kod ujian lengkap (dibuka dengan WeChat):


Salin kod Kod adalah seperti berikut:




Ujian antara muka WeChat


fungsi sendMessage(){
WeixinJSBridge.on('menu:share:appmessage', function(argv){
WeixinJSBridge.invoke('sendAppMessage',{

"appid":"", //Appid boleh ditetapkan kepada kosong.
"img_url":"", //Laluan imej semasa berkongsi
"img_width":"120", //Lebar imej
"img_height":"120", //Ketinggian imej
"pautan":"
http://www.jb51.net", //Kongsi alamat pautan yang dilampirkan
"desc":"Teg Geek--http://www.jb51.net", //Pengenalan kepada perkongsian kandungan
"title":"Temui tag geek - jadilah platform perkongsian pengetahuan geek terbaik"
}, fungsi(res){/*** Fungsi panggil balik, sebaiknya ditetapkan kepada kosong ***/

});
});

WeixinJSBridge.on('menu:share:timeline', function(argv){

WeixinJSBridge.invoke('shareTimeline',{

"appid":"", //Appid boleh ditetapkan kepada kosong.
"img_url":"", //Laluan imej semasa berkongsi
"img_width":"120", //Lebar imej
"img_height":"120", //Ketinggian imej
"pautan":"http://www.jb51.net", //Kongsi alamat pautan yang dilampirkan
"desc":"Teg Geek--http://www.jb51.net", //Pengenalan kepada perkongsian kandungan
"title":"Temui tag geek - jadilah platform perkongsian pengetahuan geek terbaik"
}, fungsi(res){/*** Fungsi panggil balik, sebaiknya ditetapkan kepada kosong ***/
});

});


alert("Berjaya dipanggil! Kini anda boleh berkongsi dengan rakan atau kalangan rakan melalui butang di sudut kanan atas!");

}

fungsi hideMenu(){
WeixinJSBridge.call('hideOptionMenu');
}

function showMenu(){
WeixinJSBridge.call('showOptionMenu');
}

function hideTool(){
WeixinJSBridge.call('hideToolbar');
}

function showTool(){
WeixinJSBridge.call('showToolbar');
}

if(document.addEventListener){
document.addEventListener('WeixinJSBridgeReady', sendMessage, false); } else if(document.attachEvent){
document.attachEvent('WeixinJSBridgeReady' , sendMessage); document.attachEvent('onWeixinJSBridgeReady' , sendMessage); }

//Tentukan sama ada halaman web dipanggil dalam WeChat
var ua = navigator.userAgent.toLowerCase();
if(ua.match(/MicroMessenger/i)=="micromessenger") {
} lain {
alert("Panggilan gagal, sila gunakan WeChat untuk mengimbas dan mengimbas kod QR di bawah untuk membuka halaman web!");
}





Untuk berkongsi, sila klik sudut kanan atas



< ;br />
br />


;
;


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn