Chrome Extension สำหรับ bit.ly

Chrome Extension นี้ ดัดแปลงจากตัวอย่าง Omnibox ของ Google

สร้างโฟลเดอร์ใหม่ และสร้าง 2 ไฟล์ต่อไปนี้ในโฟลเดอร์ใหม่ (ดาวน์โหลดซอร์สโค้ด)

ไฟล์ manifest.json

{
  "name": "bit.ly",
  "description" : "To use, type 'b' plus a search term into the Omnibox.",
  "version": "1.0",
  "background": {
    "scripts": ["background.js"]
  },
  "omnibox": { "keyword" : "b" },
  "manifest_version": 2,
  "permissions": [
    "tabs"
  ]
}

ไฟล์ background.js

// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// This event is fired with the user accepts the input in the omnibox.
chrome.omnibox.onInputEntered.addListener(
  function(text) {
    chrome.tabs.update(null, {url : 'http://bit.ly/' + text});
  }
);

พิมพ์คำว่า chrome://extensions/ ลงที่ omnibox (ช่องค้นหา)

ติ๊ก √ ที่ Developer mode เพราะว่าเป็น extensions ที่เขียนใช้เอง ไม่ได้โหลดจาก chrome web store

คลิก Load unpacked extension…

เลือกโฟลเดอร์ที่เก็บ source code ไว้

ทดสอบ extension โดยไปที่ช่องค้นหา พิมพ์ b Wannik


อธิบายโค้ด

manifest.json

ใส่ฟิลด์ omnibox เพื่อเปิดใช้งาน omnibox API ในที่นี้เรียกโดยพิมพ์ b วรรค ที่ omnibox

"omnibox": { "keyword" : "b" }

ใส่ฟิลด์ permissions tabs เพื่อเปิดใช้งาน tabs API

  "permissions": [
    "tabs"
  ]

background.js

ดักเหตุการณ์ที่ผู้ใช้กด Enter (หลังจากพิมพ์ b วรรค ข้อความ) ใน omnibox

chrome.omnibox.onInputEntered.addListener(

โดยให้เรียกเพจ http://bit.ly/ +ข้อความที่พิมพ์ใน_omnibox

    chrome.tabs.update(null, {url : 'http://bit.ly/' + text});

ดาวน์โหลดซอร์สโค้ดสำหรับ cardkingdom.com

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s