home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2005 February
/
CHIP_CD_2005-02.iso
/
bonus
/
firefox
/
files
/
docmark.js
< prev
next >
Wrap
Text File
|
2004-12-21
|
2KB
|
73 lines
// ╬ß·σΩ≥ Σδ ⌡≡αφσφΦ ταΩδαΣεΩ Γ±σ⌡ ε≥Ω≡√≥√⌡ ΣεΩ≤∞σφ≥εΓ
var allmarks = {};
// ╧≡ε÷σΣ≤≡α ΣεßαΓδσφΦ ταΩδαΣΩΦ
function docmark_add()
{
// URL ΣεΩ≤∞σφ≥α ß≤Σσ∞ Φ±∩εδⁿτεΓα≥ⁿ Γ Ωα≈σ±≥Γσ ≤φΦΩαδⁿφεπε
// ΦΣσφ≥Φ⌠ΦΩα≥ε≡α ±∩Φ±Ωα ταΩδαΣεΩ
var id = window.content.document.location.href;
if (typeof(allmarks[id]) == "undefined") {
allmarks[id] = [];
}
var num = allmarks[id].length;
var label = prompt(document.getElementById("docmark-string-bundle").getFormattedString("docmarkMarkTitle", [num + 1]), "");
if (label != null) {
// pageXOffset, pageYOffset -- ≥σΩ≤∙σσ ∩εδεµσφΦσ ∩≡εΩ≡≤≥ΩΦ
allmarks[id][num] = {offsetX:window.content.pageXOffset, offsetY:window.content.pageYOffset, label:label};
}
}
// ╧≡ε÷σΣ≤≡α πσφσ≡α÷ΦΦ ±∩Φ±Ωα ταΩδαΣεΩ
function docmark_generate_menu_marks(menu)
{
// ╙ΣαδΦ∞ Γ±σ ±≥α≡√σ ταΩδαΣΩΦ
docmark_remove_menu_marks(menu);
var marks = allmarks[window.content.document.location.href];
if (typeof(marks) == "undefined") return;
var menuItem;
if (marks.length != 0) {
// ─εßαΓΦ∞ ≡ατΣσδΦ≥σδⁿφ≤■ δΦφΦ■
menuItem = document.createElement("menuseparator");
docmark_insert_menu_item(menu, menuItem);
} else return;
for (var i = 0; i < marks.length; ++i) {
var num = i + 1;
var mark = marks[i];
menuItem = document.createElement("menuitem");
menuItem.setAttribute("label", num + '. ' + mark.label);
menuItem.setAttribute("oncommand", "window.content.scrollTo(" + mark.offsetX + "," + mark.offsetY + ")");
if (num <= 10) {
menuItem.setAttribute("accesskey", num % 10);
}
docmark_insert_menu_item(menu, menuItem);
}
}
// ─εßαΓδσφΦσ ταΩδαΣΩΦ Γ ∞σφ■
function docmark_insert_menu_item(menu, item)
{
item.setAttribute("class", "docmark-generated-menu");
menu.insertBefore(item, document.getElementById("docmark-separator-end"));
}
// ╙ΣαδσφΦσ ±πσφσ≡Φ≡εΓαφ√⌡ ταΩδαΣεΩ
function docmark_remove_menu_marks(menu)
{
var menuItems = menu.getElementsByAttribute("class", "docmark-generated-menu");
for (var i = 0; i < menuItems.length; ++i) {
menu.removeChild(menuItems[i]);
}
}
// ─Φαδεπ "About"
function docmark_about()
{
window.openDialog("chrome://docmark/content/about.xul", "docmark-about-dialog", "centerscreen,chrome,modal");
}