Open link from XULRunner

วันก่อนงมหาวิธีทำให้เวลาคลิก link ใน XULRunner แล้วไปเปิดหน้านั้นๆ ใน browser ของเราอยู่นาน สุดท้ายก็ไปดาวน์โหลดโค้ดของ Flickr Uploadr เอามาแกะดู ถึงได้พบดวงตาเห็นธรรม (โค้ดเป็น GPLv2)

1
2
3
4
5
6
7
8
9
10
11
12
13
function launch_browser(url) {
  try {
    var io = Components.classes['@mozilla.org/network/io-service;1']
      .getService(Components.interfaces.nsIIOService);
    var uri = io.newURI(url, null, null);
    var eps = Components.classes['@mozilla.org/uriloader/external-protocol-service;1']
      .getService(Components.interfaces.nsIExternalProtocolService);
    var launcher = eps.getProtocolHandlerInfo('http');
    launcher.preferredAction = Components.interfaces.nsIHandlerInfo.useSystemDefault;
    launcher.launchWithURI(uri, null);
  } catch (err) {	}
  return url;
}

ทีแรกนึกว่าง่ายๆ แบบเขียนบรรทัดเดียวเสร็จ เอาเข้าจริงแล้วไม่ง่ายเลย

2 Comments

  1. ohmohm says:

    ยุ่ง chip หาย มัน java หรือ javascript เนี้ย

  2. pittaya says:

    javascript น่ะแหละ แต่มันต้องเรียกใช้ XPCOM ด้วย มันเลยดูยุ่บยั่บ

Leave a Reply