Safariの最近のバージョンで導入されたものの、使わないでいた「プロファイル」機能。
Appleが提案してきた鳴り物入りの新機能のうち、ほとんどのものはその日のうちにオフにしていたり、「なかったもの」にしているものが(個人的に)多いです。最新のものでは、macOS 15.0の「ウィンドウの吸着機能」は、その日のうちにオフにしました。
「プロファイル機能」も、そんな「Appleが作った新たなゴミ機能」だと思っていたのですが、よくよく調べると、
拡張機能やクッキーなど環境情報をプロファイルごとに切り替えられるようになっています。
Safariを用いたプログラムの開発を行う必要があり、この「プロファイル」機能に注目。個人環境と開発環境を区分けできることにメリットを感じて使いはじめました。
ところが、AppleScriptでSafariのウィンドウのタイトルを取得する処理を実行すると、
AppleScript名:最前面のウィンドウのタイトルを取得する.scpt |
set aTitle to getPageTitleOfFrontmostWindow() –> "個人用 ― AppleScriptの穴 – Useful & Practical AppleScript archive. Click ’★Click Here to Open This Script’ Link to download each AppleScript" on getPageTitleOfFrontmostWindow() tell application "Safari" if (count every window) = 0 then return false tell window 1 set aProp to properties end tell set aDoc to document of aProp set aText to name of aDoc end tell return aText end getPageTitleOfFrontmostWindow |
タイトルの前にプロファイル名がついてきてしまいます。これは、嬉しくない状況です。
現在のプロファイル名を取得できるとか、使用プロファイルを指定できるとかいった機能なら前向きなのですが……。
JavaScript経由でページのタイトルを取得したところ、プロファイル名はついてきませんでした。
この2つの方法を試すことで、どちらか最適な方を選ぶとか、両方を組み合わせてプロファイル名を抽出するといった処理を行うべきでしょう。
AppleScript名:最前面のウィンドウのタイトルを取得する(JS).scpt |
set aTitle to getPageTitleOfFrontmostWindowByJS() –> "AppleScriptの穴 – Useful & Practical AppleScript archive. Click ’★Click Here to Open This Script’ Link to download each AppleScript" on getPageTitleOfFrontmostWindowByJS() tell application "Safari" if (count every window) = 0 then return false set aRes to do JavaScript "document.title;" in front document return aRes end tell end getPageTitleOfFrontmostWindowByJS |
More from my site
(Visited 59 times, 1 visits today)