Mozilla Firefox에서 활성 탭 제목과 URL을 가져 오려고합니다. 나는 수동으로 Firefox 확장을 설치하고 활성 탭 제목과 URL을 얻기위한 C# Windows 클래스 라이브러리 응용 프로그램을 만들었습니다.Firefox 확장에서 기본 메시징을 통해 C#으로 메시지 받기
우선, package.json, main.js, install.rdf 등과 같은 파일이 들어있는 Firefox Extension을 설치했습니다. 아래 코드는 내 코드입니다.
main.js
// import js-ctypes
var {Cu} = require("chrome");
var {ctypes} = Cu.import("resource://gre/modules/ctypes.jsm", null);
var self = require("sdk/self");
var tabs = require("sdk/tabs");
var button = require("sdk/ui/button/action").ActionButton({
id: "style-tab",
label: "Style Tab",
icon: "./icon-16.png",
onClick: function() {
// Open the library
var winffAddonewdl;
try
{
// Linux
winffAddonewdl = ctypes.open("filename.dll");
}
catch (e)
{
// Most other Unixes
winffAddonewdl = ctypes.open("filename.dll");
}
//alert(tabs.activeTab.url);
// Import a function
var OpenStandardStreamIn = winffAddonewdl.declare("OpenStandardStreamIn", // function name
ctypes.default_abi, // call ABI
ctypes.int, // return type
ctypes.char.ptr, // argument type
ctypes.char.ptr); // argument type
var ret = OpenStandardStreamIn(tabs.activeTab.title, tabs.activeTab.url);
winffAddonewdl.close();
}
});
나는 아래 링크의 도움 (1) https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Installation (2) https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Getting_started 내 추가 기능은 와 추가 기능에 SDK를 사용하여 내 추가 기능을 개발했다 성공적으로 설치되었습니다.
또한 추가 기능 설치를위한 레지스트리 항목을 만들었으며 추가 기능도 성공적으로 설치되었으며 아이콘을 클릭 할 때마다 제목뿐만 아니라 현재 URL이 표시되었습니다.
이제 저는 다른 파이어 폭스 탭이나 파이어 폭스 창으로 전환 할 때마다 파이어 폭스 브라우저에서 Title뿐만 아니라 URL을 얻고 싶습니다. 이 활성 탭 제목 및 URL을 얻을 수있는 C# Windows 클래스 라이브러리 응용 프로그램을 개발했습니다.
이제 내 질문은이 Windows 클래스 라이브러리 응용 프로그램을 실행하고 네이티브 메시징을 통해 JS 파일에서 제목과 URL을 가져 오는 것입니다. Windows 클래스 라이브러리 응용 프로그램을 실행해야합니까? 심지어 윈도우 클래스에서 제목과 URL을받을 수 없습니다. 도서관 신청
지금해야 할 일. 이 점에 대해 도와주세요. 내가 main.js 파일 안에 간단한 코드를 작성했습니다
편집. 다음은 내 코드
내 추가 기능이 성공적으로 설치됩니다var tabs = require('sdk/tabs');
tabs.on('activate', function(tab) {
console.log('active: ' + tab.url);
});
하지만 "찾을 수 없습니다 요소"를 제외한 브라우저 콘솔에서오고 다른 파이어 폭스의 탭이나 창에 아무것도로 전환 할 때 또는 "내용이 null 인"탭 -에있다 events.js.
단순히 활성 탭 URL을 기록하고 싶습니다. 그렇게하는 방법?
나는 위의 문제를 공표하면 나중에 현지 토의를 논의 할 것이다.
당신이'var ret = OpenStandardStreamIn (tabs.a ...'? – Noitidart
) 할 때 브라우저 콘솔은 무엇을 던져 줍니까? ctyoes.open ('filename.dll')을 할 때 전체 경로 그래서'ctypes.open (self.data.url ('filename.dll'))' – Noitidart
@Noitidart, 답장을 보내 주셔서 감사합니다.이 간단한 부분을 완료하면 나중에 네이티브 섹션으로갑니다. 편집 섹션. – Tutun