Safari Extensions では、「グローバルページ」で記述した Javascript であれば、開いているウィンドウやタブの枚数を取得し、それぞれをターゲットにして処理を走らせることができる。
以下は、グローバルページから全てのタブに chgSettings の処理を走らせる場合。
★「グローバルページ」で指定した html 内の Javascript
<!doctype html>
<html lang="en">
<head>
<script type="text/javascript">
// 記述が長くなるので、with() でまとめる
with (safari.application) {
// browserWindows では開いているウィンドウの枚数が判別できる
for (var w = 0; w < browserWindows.length; w++) {
// tabs では開いているタブの枚数を判別できる
for (var t = 0; t < browserWindows[w].tabs.length; t++) {
tabs[t].page.dispatchMessage("chgSettings", settingValues);
}
}
}
</script>
</head>
<body></body>
</html>
<html lang="en">
<head>
<script type="text/javascript">
// 記述が長くなるので、with() でまとめる
with (safari.application) {
// browserWindows では開いているウィンドウの枚数が判別できる
for (var w = 0; w < browserWindows.length; w++) {
// tabs では開いているタブの枚数を判別できる
for (var t = 0; t < browserWindows[w].tabs.length; t++) {
tabs[t].page.dispatchMessage("chgSettings", settingValues);
}
}
}
</script>
</head>
<body></body>
</html>
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.