Saya telah melihat hal ini dilakukan di aplikasi web lain, tetapi saya cukup baru dalam Javascript dan tidak dapat mengetahuinya sendiri. Saya ingin membuat Google Hangout secara terprogram. Namun, dalam API resmi, satu-satunya cara Anda dapat membuat Hangout adalah dengan menyertakan tombol Hangout di halaman Anda.
Berikut dokumen Google tentang tombol Hangouts..
Apa yang ingin saya lakukan adalah meminta pengguna mengklik gambar pengguna lain dan membuka Hangout dengan cara ini. Sepertinya saya bisa menangkap klik itu dan kemudian ' klik ' tombol Hangouts di latar belakang. Namun, saya tidak terlalu mahir dengan Javascript jadi saya tidak tahu bagaimana cara mencapai ini.
EDIT
Saya mencoba solusi mohamedrais' di bawah ini tanpa hasil. Apakah ada hubungannya dengan kelas tombol?
Berikut kode untuk tombolnya, diambil dari dokumen Hangouts dengan tambahan id
:
<script type="text/javascript" src="https://apis.google.com/js/platform.js"></script>
<div class="g-hangout" id="hangout-giLkojRpuK"
data-render="createhangout">
</div>
Berikut adalah JS yang saya tambahkan, dirender dengan id
:
<script>
window.onload = function() {
var userImage = document.getElementById("img-giLkojRpuK");
var hangoutButton = document.getElementById("hangout-giLkojRpuK");
userImage.onclick = function() {
console.log("in onclick");
hangoutButton.click(); // this will trigger the click event
};
};
</script>
Ketika saya mengklik img
, "in onclick" akan dicatat, sehingga fungsi akan dipanggil. Namun, tidak ada yang terjadi - Hangouts tidak diluncurkan.
Ketika saya mengklik langsung pada tombol Hangouts, Hangouts akan diluncurkan. Namun, pada akhirnya saya ingin menyembunyikan ini dan melakukan klik dari gambar.
Berikut gambar tombol Hangouts di atas img
:
window.onload = function() {
var userImage = document.getElementById('imageOtherUser');
var hangoutButton = document.getElementById("hangoutButtonId");
userImage.onclick = function() {
hangoutButton.click(); // this will trigger the click event
};
};
ini akan melakukan triknya
Meskipun pertanyaan ini agak lama, berikut ini jawabannya :)
Apa yang Anda tanyakan dapat dicapai dengan menggunakan jQuery's .click() event method dan .on() event method
Jadi ini bisa menjadi kodenya:
// Set the global variables
var userImage = $("#img-giLkojRpuK");
var hangoutButton = $("#hangout-giLkojRpuK");
$(document).ready(function() {
// When the document is ready/loaded, execute function
// Hide hangoutButton
hangoutButton.hide();
// Assign "click"-event-method to userImage
userImage.on("click", function() {
console.log("in onclick");
hangoutButton.click();
});
});
Saya tidak pernah mengembangkan dengan HangOut. Saya mengalami masalah yang sama dengan FB-login dan saya berusaha keras untuk membuatnya mengklik secara terprogram. Kemudian saya menemukan bahwa sdk tidak mengizinkan Anda untuk mengklik tombol secara terprogram karena beberapa alasan keamanan. Pengguna harus mengklik tombol secara fisik. Ini juga terjadi dengan tombol async asp fileupload. Jadi silakan periksa apakah HangOut mengizinkan Anda untuk mengklik tombol secara terprogram. Semua kode di atas benar dan seharusnya berfungsi. Jika Anda menggali cukup dalam, Anda akan melihat bahwa jawaban saya adalah jawaban yang tepat untuk situasi Anda.