問題タブ [bookmarklet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - ブックマークレットを開発する際に考慮すべき設計とセキュリティの考慮事項は何ですか?
私は現在、サーバーに接続するブックマークレットをいくつか設計しようとしています (マグノリアのように)。しかし、それらは強力でクールなツールでもあり、私の要件のニーズに合っているので、使用したいと思っています。
しかし、それらはおそらく Javascript の使用法の醜いアヒルの子であるため、それらの設計とセキュリティに関して適用すべき特別な考慮事項と常識は何かと考えています。
ありがとう!
編集:私が持っているポリシーの 1 つは、ユーザーが https ページ内にいる場合、ブックマークレットは単に開始されないということです。
bookmarklet - 基本的なブックマークレットのヘルプ
ページを編集可能に設定するブックマークレットを作成したい、つまり次のコードを実行したい:
そのブックマークを作成すると、ページが非常に短時間編集可能になり、全体が「true」という単語に置き換えられることがわかりました。
browser - ブックマークレットをツールバーにドラッグしたときにファビコン/アイコンを設定するにはどうすればよいですか?
自分でブックマークレットを作成しましたが、問題なく機能しますが、Opera または Firefox のツールバーに追加すると、ブラウザのデフォルトのブックマーク アイコン (それぞれ地球と星) になります。私のサイトにはファビコンがあり、ウィンドウ、タブ、[サイト] ブックマークでさえ、指定したファビコンを使用しています。私のブックマークレットではありません。
ブックマークレットもファビコンを取得するように、サイトまたはブックマークレットをコーディングするにはどうすればよいですか?
ユーザーが事後にファビコンを設定するために使用できるさまざまな手動ハッカー手法を認識していますが、それらは望ましくない解決策です。
jquery - 同じページに複数の異なるバージョンの jQuery をロードすることは可能ですか?
オブジェクトが見つからない場合に jQuery をロードするブックマークレットを作成しています。読み込みは jQuery のバージョンをチェックします。コードは次のようになります。
このブックマークレット ビルダーを使用して、ブックマークレットhttp://subsimple.com/bookmarklets/jsbuilder.htmを作成します。
明らかに、ページにすでに jQuery がロードされている場合。1.3.2 スクリプトをロードすると、ページ上の window.jQuery オブジェクトが上書きされます。とにかく、1.3.2 を別の自己名前付き変数にロードできるようにする方法があるのだろうか? を使用していjQuery.noConflict(true);ますか?
javascript - ブックマークレット: 非表示の iframe をページに追加して URL を読み込む
ルーターをリセットするためのブックマークレットがあります。にアクセスしてページの読み込みを完了するだけで、ルーターがリセットを開始します。
しかし、ポップアップウィンドウで開きます。
私の新しいアイデアは、javascript bookmaklet を使用して現在のページに非表示の iframe を動的に追加し、非表示の iframe で URL を開くことです。これは可能ですか?
これを行う方法について、より良い提案をお待ちしています。
javascript - ブックマークレットからのAjax呼び出し
クリックすると、ユーザーにいくつかの情報(この場合はURLと他のいくつかのフィールド)を要求し、そのデータをサーバーのphpページに送信して結果を表示するブックマークレットを作成しようとしています。
実際に新しいページにリダイレクトせず、データを取得するために、これに対してAjax呼び出しを行いたいのですが、Ajaxの「同一生成元ポリシー」の制限に遭遇すると思います。基本的に同じことをする既知の方法は?
また、パラメータを渡すための最良の方法は何でしょうか?フォームから投稿メッセージとしてパラメータを受け取るメカニズムはすでに用意されています...これを再利用できる方法はありますか?
javascript - 新しいウィンドウのブックマークレット
だから私は、新しいウィンドウでページを開くブックマークレットを持っています。
このコードは、Safari、Firefox、および Chrome で完全に機能します。しかし、予想どおり IE (7 および 8) が問題を引き起こしています。ブックマークレットを開くと IE で役に立たないエラーが表示され、ウィンドウが開きません。
ブックマークレットを編集して、ページにスクリプトタグを追加しようとしました。次に、 script タグ内に window.open() コードが追加されるか、スクリプト ( window.open() を含む) にアクセスします [両方の方法で試しました]
私は今途方に暮れています。
IEでページをポップアップさせる方法を知っている人はいますか(Safari、FF、およびChromeでも動作するコードを使用することをお勧めします)?
ありがとう、
編集:最終的なコードは次のようになりました:
javascript - Gmail JavaScript ブックマークレット
これを新しいタブ(FF3)にロードすると機能します。現在のタブにロードすると、URLが出力されます。
実際には、既存の gmail タブにロードするだけの問題だと思います。たとえば、ブックマークレットを作成し、一度クリックしてから、もう一度クリックします。それが問題を再現する方法のようです。
何が原因でしょうか?いくつかの回避策を考えることができますが、これがどのように機能するのか興味があります。
何か助けはありますか?
ありがとう :)
アップデート:
この回答から余分な空白を削除し、必要なスペースを「%20」(URL エンコーディング) に変換すると、まったく何もしません:
また、セミコロンをいじったり、その他の一般的な構文チェックを試したりしましたが、何を探しているのかわかりません。ブックマークレットとしても、アドレスバーに直接貼り付けても機能しません(とにかく私にとっては)。
javascript - 複数のタスクを実行するブックマークレット
私は一日中このアプリケーションをいじくり回してきましたが、いくつかの問題がありました。したがって、基本的にブックマークレットは、ユーザーが複数の JavaScript ファイルから多くの関数を使用できるようにする必要がありますが、ユーザーが使用する関数はすべて 1 つのファイルから呼び出されます。基本的に、特定の機能を実行するために必要なすべてのファイルが含まれています。jQuery を使用していますが、ブックマークレットで jQuery を実行するのは非常に難しいことがわかりました。
私の質問は: 複数の JavaScript コード ファイルをブックマークレットにロードするにはどうすればよいですか?
敬具、
エミール・ハジリック。
javascript - クリップボードから URL を解析して追加する
クリップボードにある URL を取得して 2 つの数字を解析し、新しい URL を作成し、クリックすると URL がブックマーク メニューに追加されるリンクをページの上部に追加するには、JavaScript ブックマークが必要です。
これらのようなURLがあるとします
次に、この URL に数字を追加する必要があります
フレーム「コンテンツ」の上部にURLを追加します。
私はこれについて永遠に試しましたが、理解できません。
更新
必要なものを示すために、何かをまとめました。これはうまくいきません。
理由はありますか?
Update2
これは機能します。さらに良くするためにできる変更はありますか?