JavaScriptを撮るのは初めてなので、少しラフに見えたら失礼します。
このウェブサイトhttp://www.keepvid.com/は、JavaScript付きのブックマークを提供しており、メディアページでクリックすることにより、YouTubeや他のメディアサイトからビデオをダウンロードできます。ただし、ダウンロードページを新しいタブで開く代わりに、現在のタブで開き、メディアを中断することがわかりました(おそらく、プロバージョンの購入を促すためです)。
JavaScriptを試すチャンスだと思って(以前はブックマークレットしか使っていなかったので)答えを探していましたが、JavaScriptが更新されているようで、古いバージョンのWebサイトでしか機能しなかったようです。
新しいページを開いて、メディアのダウンロードページをロードするブックマークレットを作成しようとしています。
私が解決策として最初に遭遇したコードは次のとおりです。javascript:void(window.open('http://keepvid.com/?url='+escape(window.location)));
しかし、これは機能しませんでした。ブックマークレットの最後&bm=y
のURLがURLの末尾に追加されていることに気付いたとき、次のように編集しました。
javascript:void(window.open('http://keepvid.com/?url='+escape(window.location)+'&bm=y'));
次に、ブックマークレットの元のコードを確認しました::
javascript:
(a%20=%20(b%20=%20document).createElement('script')).src%20=%20'http://keepvid.com/js/bm.js',%20b.body.appendChild(a);void(0);
そして、それが外部スクリプトを要求していて(私は信じています)、それは無傷のままでなければならないことに気づきました。
そして彼らから私はこれを機能させるために様々な方法を試してきました、そしてこれまでのところ、これは私が持っているものです:
javascript:void(window.open(window.location));void((a%20=%20(b%20=%20document).createElement('script')).src%20=%20'http://keepvid.com/js/bm.js',%20b.body.appendChild(a));
このスクリプトは新しいタブを開きますが、新しいタブはYouTubeビデオのコピーのみであり、元のタブはダウンロードページをロードします。これにより、メディアが中断され、少し便利な場合でも、作業が役に立たなくなります。
私はできる限りのことを試みてきましたが、同じブックマークレットに、呼び出された元のタブを指さずに2番目のスクリプトを含めることはできないようです。
だから、私は次のことをするために何をする必要があるのか疑問に思っていました:1。新しいタブを作成する2.新しいタブに(元のタブではなく)ダウンロードページをロードさせる3.元のタブをそのままにしてそれだけを使用するwindow.locationをキャプチャします
これが不可能な場合、元のページのコピーを作成し、ダウンロードページへのリダイレクトを含むブックマークメニューのブックマークレットを指すブックマークレットをツールボックスに含める方法はありますか?