Hatena::Let はブックマークレット開発・共有サービスです。
Hatena::Let は株式会社はてなが運営するはてラボのサービスです。 はてラボは実験的なサービス群であり、サービスが突然現れたり、 突然無くなったりします。お預かりしたデータの保存は保証いたしません。
Hatena::Let
ははてラボ利用規約、
はてな利用規約、
はてなプライバシーポリシーに従い運用いたします。
Debuglet とは、現在編集中のブックマークレットを実行するためのブックマークレットです。自動保存 (もしくは明示的に一時保存) したコードを実行します。編集しつつ、別のブラウザーのタブで Debuglet を実行し挙動を確認、などの用途に利用できます。 また、Debuglet は1ユーザーに対して1つのみ作成されます。これは編集中 (一時保存されているコード) のコードはユーザーにつき1つのみのためです。なお Debuglet のユニークなキーを変更したい場合、設定の API キーを再度生成すると変更されます。 Hatena::Let では、ソースコードのコメント上に書く タイトルはリンクテキストとして使われます。多くのブラウザではブックマークレット登録時にリンクテキストを考慮してブックマーク名を決めるので、
短かく意味のある名前を指定することをお奨めします。 include はこのスクリプトが使用できるサイトを指定するためのフィールドです。 URLにおいて使用できるブックマークレット一覧を表示させたり、
同じサイトで使用できる他のブックマークレットを発見する際に使われる…ようになったら良いなと思ってます。。例えば、 現在は UserScript として JS をロードする際に有効に活用できます。
URL を指定し、必要なファイルをブックマークレット実行前に読みこませることができます。ブックマークレット実行時には指定したスクリプトファイルが全て読みこまれた状態になります。
ライブラリを指定する際に便利です。
また、以下にあげるものはライブラリ名を書くだけで自動的に最新のライブラリを読みこませることができます。(大文字小文字は区別されません)
例: また、 ブックマークレットを他人に公開しない設定にする際には コードに適用されるライセンスを記述するフィールドです。 このフィールドが指定されていると、無名関数に入れて外部 JavaScript
ファイルとして読み込むのではなく、できるだけコードを短縮して
正しく扱えるコードの長さはブラウザーにより異なります。また、
構文によってはただしく短縮できないことがあります。
この機能は実験的なものであり、将来的に変更または削除する可能性があります。
記述したコードは、無名関数の中で実行されます。無名関数内部でグローバルな空間に変数等を定義したいときは 編集ガイド
Debuglet について
ソースコードのコメント上に記載する
@...
について@...
の情報が意味を持ちます。意味は以下の通りです。
@title
@description
description
は任意で説明を書くフィールドです。一覧表示で使われます。@include http://*
http://*
は任意のサイト、http://*.hatena.ne.jp
は hatena.ne.jp
以下の任意のページになります。@require http://....
@require jquery
@require
で http://.../path.css
と最後が .css
で終わる URL を指定すると、外部CSSとしてブックマークレット実行時にロードします。@private
@private
と書くことで非公開にできます。このプライベート設定は、他人が見ると一覧には表示はされませんが、直接 URL を閲覧すると全員がアクセス可能です。自分だけで利用したい、知り合いだけに見せたい場合は @private
を利用ください。@license
@javascript_url
(実験的)
javascript:
URL に直接埋め込みます。
その他
window
オブジェクトにアクセスしてください。既知の問題
https:
のページではスクリプトが正しく動作しないことがあります。
Web ブラウザーが http://let.hatelabo.jp
の JavaScript ファイルを読み込まないためです。
@javascript_url
を使うと回避できるかもしれません。
はてなではブックマークレットや JavaScript の使い方などの質問にはお答えしていませんが、 はてなハイクで質問すると親切なユーザーさんが回答してくださるかもしれません。
不具合や脆弱性などの問題はお問い合わせ窓口よりご報告ください。はてなスタッフが調査し、回答させていただきます。