4

トピック: OS X 10.4.x+ Tiger/Leopard で Web ブラウザをプログラムで操作する。対象: Webkit、Safari、Firefox、API、Applescript、Automator、Javascript、Ruby、Ruby on Rails、OS X、Tiger 目標: Safari から URL を収集/読み取り/抽出して、テキスト (Ruby on Rails コード) ファイルにします。注: FF を使用するソリューションも非常に高く評価されます。私は Safari (v. 3.x、OS X 10.4.x) をより多く使用しており、Safari で動作するソリューションをより好みます。

ときどき Web ブラウザーを使用して、1) 後でもう一度アクセスしたい複数のサイト ページを検索/表示し、2) a) 将来の参照用にテキスト ファイルにグループ化したい URL および/または b) を表示します。プログラムで操作します。

例: 今日の NYT で、del.icio.us アカウントに投稿したい 7 つの NYT 記事を見つけました。そして、その日のオンライン版の見出しになってからずっと後に、「印刷に適した」形式で電子メールで共有します。ブラウザ ウィンドウのタップでそれぞれを開き、次に Presto! それらの URL は、(カスタム) Ruby on Rails アプリが印刷版の URL を電子メール アドレスと私の Del.icio.us アカウントに送信するファイルに自動的に送信されます。

Applescript または Automator を使用して OS から URL を抽出する方法があると思います。Javascriptでそれを行う方法があるかもしれないと思います。

私の質問: Web ブラウザーのタブの場所フィールドを読み取り、これらの文字列をテキスト ファイルに照合する方法 (OS 内または Web アプリへのネットワーク経由)。

とても有難い。

4

5 に答える 5

2

Safari の場合、これは Applescript で行うのは非常に簡単です。Bookmark all tabsのようなものから始めて、必要な基本的なタブグラブロジックを取得し、それを John Gruber の古いSave and restore Safari URLsスクリプトにマージして、URL をリストとしてテキストファイルに保存することをお勧めします.

より優れた Applescript ソリューションもあるかもしれません。これらは Google で最初に見つけたもので、どちらもかなり古いものです。

Applescript に関するさらなるヘルプとリソースについては、MacScripter フォーラムをお勧めします。

幸運を!

于 2008-11-19T02:25:56.750 に答える
1

これを Firefox で行いたい場合は、XUL を学習して使用する必要があります。タブは javascript には表示されず (セキュリティ/プライバシーの問題)、Firefox 以外にこの種の情報を提供する API はありません。

Getting Started with XUL developmentは、XUL でプログラミングを開始するための優れたリソースです。

IBM には、最初の XUL コード用のまともなチュートリアルがあります。

以下はXUL のタブ ハンドラーで、タブの扱い方のアイデアを提供します。

XUL、javascript、およびその他のテクノロジーを組み合わせて Web サイトを更新する方法を示す短いチュートリアル。

最後に、これはFirefox 拡張機能/アドオンに関する優れたライフハッカー チュートリアルで、上記の多くの簡単な例を示し、それを .xpi としてパッケージ化して、他のユーザーが簡単にそれらを Firefox に追加して管理できるようにする方法を示しています。

Safari については詳しくわかりませんが、これは Webkit に基づいており、Firefox で XUL を使用する方法と同様に、それをカスタマイズするためのリソースがいくつかあるはずです。

幸運を!

-アダム

于 2008-11-18T16:24:40.427 に答える
0

これは、あなたを動かすAppleScriptのスクリプトです(このスクリプトはSafari用です)...

property these_URLs : {}
set the text item delimeters of AppleScript to ""
----------------------------------------------------------------------------------
--Initialize the program
set the action to the button returned of (display dialog "Create or view a list of favorites..." buttons{"Cancel","View","Create"} default button 3)
if the action is "Create" then
    create_text_file()
else
    open_favorites()
end if

---------------------------------SUBROUTINES--------------------------------------

on create_text_file()
    --get the URL of every tab of every window
    tell application "Safari"
        set theWindows to (get every document) as list
        repeat with i from 1 to the count of theWindows
            set this_Window to item i of theWindows
            set theTabs to (get every tab of this_Window) as list
            repeat with x from 1 to the count of theTabs
                set this_Tab to item x of theTabs
                set this_URL to (the URL of this_tab) as string
                set the end of these_URLs to this_URL
            end repeat
        end repeat
    end tell

    --put the URLs into a text document
    set newFile to (choose file name with prompt "Choose a name and location for the new file:" default location (path to desktop folder))
    try
        open for access newFile with write permission
        set the text item delimiters of AppleScript to return
        set the_URLs to these_URLs as string
        write the_URLS to file newFile
        close access newFile
    on error
        try
            close access newFile
        end try
    end try
    set the text item delimiters of AppleScript to ""
end create_text_file()

on open_favorites()
   --Verify whether you have saved any favorites with this script
   if these_URLs is {} then display dialog "You have not added any favorites with this script." with icon note buttons{"Cancel"}
   --there are favorites so open all the URLs you stored in the text file
   repeat with i from 1 to the count of these_URLs
       set this_URL to item i of these_URLs
       tell application "Safari" to make new tab at the end of tabs of document 1 with properties {URL:this_URL}
   end repeat
end open_favorites

ご不明な点がございましたら、お気軽にお尋ねください。:)

于 2011-07-26T20:46:42.837 に答える
0

Firefox で最も簡単な解決策は、「開いているすべてのタブをブックマークする」(ブックマーク メニュー内) です。この「ブックマーク フォルダ」に特定の名前を付けます。次に、プロファイル ( http://support.mozilla.com/en-US/kb/Profiles ) に移動し、必要なすべての情報といくつかの情報が含まれている「bookmarks.html」ファイルを開くことができます。

UI を使いたい場合は、Taboo と "Sitzungs-Manager" (おそらく Session-Manager) をチェックしてください。どちらも Firefox 3.0+ 用です

タブーを使用すると、「後で読む」ためにタブを保存できます (ブックマーク メニューに似ていますが、1 回クリックするだけで、ページのスクリーンショットも保存されます)。

セッション マネージャー プラグインを使用すると、現在開いているタブとウィンドウを保存し、後で復元できます。

于 2008-11-19T16:42:26.210 に答える
0

このビット 0 コードを変更して、作業を開始できます。これを使用して、1 つのタブ用に独自の個人用ブックマーク プラグインを作成しました。xul ウィンドウに URL のリストをポップアップ表示してから、1 か所に投稿/割り当てたい URL を選択できます。

function getGetDocData(){
var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
               .getService(Components.interfaces.nsIWindowMediator);
var mainWindow = wm.getMostRecentWindow("navigator:browser");
var tab  = mainWindow.getBrowser().selectedTab;
titleDG = tab.label;
for(var i = 0; i < window.opener.length; i++){
    var doc = window.opener[i].document;
    if(doc.title == tab.label){
        hrefToDG = doc.location.href;
    }
}

}

于 2009-09-02T18:27:33.073 に答える