ใน Android นั้นปัญหาอย่างหนึ่งที่ถูกแก้ไปอย่างดีคือการทำงานร่วมกันระหว่างแอพพลิเคชั่นที่มีระบบ Intent ที่เป็นตัวเชื่อมระหว่างแอพพลิเคชั่นต่างๆ ได้เป็นอย่างดี เปิดโอกาสให้บริการใหม่ๆ สามารถให้บริการได้เช่นบริการอ่าน QR Code นั้นสามารถเขียนกันคนละแอพพลิเคชั่นจากนักพัฒนาที่ไม่เกี่ยวข้องกันแต่ให้บริการแทนกันได้ และวันนี้กูเกิลก็พยายามนำแนวคิดแบบเดียวกันให้มาอยู่ในเว็บ ในชื่อ Web Intents
กูเกิลยกตัวอย่างการแก้ไขรูปภาพ โดยเว็บฝากรูปดีๆ สักเว็บอาจจะไม่สามารถพัฒนาเว็บสำหรับแก้ไขรูปภาพได้ด้วยตัวเอง เว็บฝากรูปนั้นสามารถเรียก Intent สำหรับแก้ไขรูปภาพขึ้นมาลอยๆ โดยไม่รู้ว่าจะมีเว็บใดให้บริการแก้ไขรูปภาพบ้าง
{syntaxhighlighter brush:jscript}
var intent = new Intent(Intent.EDIT, ‘image/png’, getImageDataURI());
window.navigator.startActivity(intent, loadEditedImage);
// This callback will be called when the service replies with the edited
// image data.
function loadEditedImage(data) {
var image = document.getElementById(‘image’);
setImageData(image, data);
}
{/syntaxhighlighter}
เนื่องจากเว็บไม่มีศูนย์กลางการลงทะเบียนบริการแบบ Android ทำให้ตัวเว็บเองต้องชี้ไปยังผู้ให้บริการลงทะเบียนเป็น URL
{syntaxhighlighter brush:xml}
{/syntaxhighlighter}
เมื่อผู้ใช้คลิกปุ่มแก้ไขภาพ บริการฝั่งรับให้บริการจะได้ตัวแปร window.intent
มาใช้งานโดยสามารถเรียกขอข้อมูลที่เว็บเรียกใช้บริการผ่านทาง window.intent.data
และสามารถส่งข้อมูลกลับได้ทาง window.intent.postResult()
กูเกิลเตรียมจะพัฒนา Web Intents เข้าเป็นส่วนหนึ่งของฟีเจอร์ในเบราเซอร์แต่ในตอนนี้ก็มีการใส่ฟีเจอร์นี้ได้ด้วยการวางโค้ดจาวาสคริปต์ลงในเว็บแล้วโดยสามารถดาวน์โหลดโค้ดได้จาก github
ที่มา - Chromium Blog