2017-12-16 45 views
-1

"https://www"を置き換えるスクリプトを作成する方法を知りたいReddit URLに「ps」と入力します。ブックマークをクリックすると私はこれをどのようにすることができるか誰にも分かりますか?私のプログラミング知識はかなり限られています。ブックマークをクリックすると、URLの一部を別のものに置き換えるスクリプトを作成するにはどうすればよいですか?

+0

3つの別々の問題があります.... URLを変数に取得する方法、文字列の一部を置き換える方法、およびURLを変更した文字列に変更する方法それぞれのタスクを取り、別々に研究し、それらを組み合わせて開始してください。あなたが実際に実際のコードを持っていて、それが期待どおりに動いていないときに戻って来てください。 – charlietfl

+0

いいでしょう。私のためにそれを分解していただきありがとうございます。 –

+0

この問題の最も難しい部分は、あなたの* *がそれらの用語を使用している(しばしば誤用されている)かどうかを判断することです。手動で何をするかを示すスクリーンショットやスケッチを追加してください。 –

答えて

0

「ブックマークレット」とは何ですか?

Chromeでは、ブックマークバーを開きます。それを右クリックし、「ページを追加」を押し、名前を付けて、URLの代わりにJavaScript関数を貼り付けます。この(crossbrowsertesting.comから取られた)のように:

javascript:(function(){if(typeof cbt_script=='undefined'){cbt_script=document.createElement('SCRIPT');cbt_script.type='text/javascript';cbt_script.src='https://crossbrowsertesting.com/cbt_bookmarklet.js.php?random='+(new Date()).getTime();document.getElementsByTagName('head')[0].appendChild(cbt_script);}else{showCBTbookmarklet();}})(); 

だから今の質問は唯一の「どのように私はJavascriptが現在のアドレスを編集するのですか?」されますこれは簡単ですが、window.location.href = ''を使用してください。

ので、例えば:

javascript:(function(){window.location.href='https://google.com'})(); 

https://google.comに行くことができます。

は、だから今、私たちには、JavaScriptが現在のページを取り、ややそれを変換します

// The weird structure of the function is because it's a "self running" 
// function, they look like this (function(){/*code*/})(); 
(function() { 
var currentUrl = window.location.href; 
var newUrl = currentUrl.replace("https://", "https://ps."); 
window.location.href = newUrl; 
}(); 

またはブックマークレットの形でダウン短縮:

javascript:(function(){location.replace(window.location.href.replace("https://","https://ps."))})(); 

これは、例えば電源を入れますブックマークを押すとhttps://google.comhttps://ps.google.comが表示されます。

最初にhttpまたはhttpsが必要であることに注意してください。そうしないと、location.replace関数は望みどおりに開きません。

+0

こんにちは、まずは、これを説明する時間をとってくれてありがとうと言いたいだけです。ブックマークレットのコードを実行しようとしましたが、何もしていないようです。だから私は "ps://"を "ps"に置き換えました。それは少しうまく動作していたようですが、正しく動作していないようです。 代わりに、古いURLを新しいURLに置き換える代わりに、既存のURLの最後にps.google.comを追加しました。 ブックマークレットをクリックするとhttps://google.com/からhttps://www.google.com/ps.www.google.com/に変換されますが、これは正しくありません。 私はreplace関数に何か問題があると思います。 –

+0

スクリプトを更新しました。私はあなたがps://を望んでいた可能性があると思っていましたが、psが必要な場合は。 replace関数の前に付けると、replace( 'https://'、 'https:// ps。')となります。 https://google.comはhttps://ps.google.comに変わります。 –

+0

私は駄目です。それはまだ動作していないようです。すでに存在しているURLにps.google.comを追加するだけです。 ですので、このページはReddit https://www.redditにあります。com/r/gifs/comments/7k7mbb/amazing_save/ ブックマークレットをクリックし、https://www.reddit.com/r/gifs/comments/7k7mbb/amazing_save/ps.reddit.com/rに変換します/ gifs/comments/7k7mbb/amazing_save /これは正しいことではありません。 psのURLの先頭にあるhttps://を置き換えるだけです。 ご協力ありがとうございます。また、私はあなたを賞賛しましたが、私には15の評判がないので記録されませんでした。 –

関連する問題