2017-05-07 17 views
2

作業の一部として、同じWebアプリケーションが異なるユニットの複数の場所でホスティングしています。現在のサイトへの相対パスでブックマークを保存

http://site1.come/path-to-some-page 
http://site2.come/path-to-some-page 

今私はSITE1のブックマークを持っているが

http://site1.come/path-to-some-page 

として保存されますが、サイト2のために私は再び新しいブックマークを作成する必要があります。私は毎週新しいドメイン名を扱わなければなりません。毎週この作業を繰り返し行うのは苦痛です。

は私が

例えば、現在のホストへの相対的なブックマークを保存できません

http://{CURRENT_HOST}/path-to-some-page 

これは私がブックマークレットに頼ることなく、相対またはルート相対リンクを保存する方法を見ていないそれぞれの新しいウェブサイト

答えて

2

のブックマークを保存するの痛みを大幅に節約します。

は限りブックマークレットが懸念しているとして、それはあなたが好きなものは何でもパスが表示されます1を生成することは比較的簡単です:

javascript:(rel=>{location=rel.startsWith('/')?`${location.protocol}//${location.host}${rel}`:`${location.protocol}//${location.host}${location.pathname}/${rel}`})('/path') 

は、どんなパスを含む、適切にエスケープされた文字列で終わり'path'を交換してくださいあなたが望むでしょう。これにより、相対パスとルート相対パスが/文字で始まるかどうかによって区別されます。長い形式で

(rel => { 
    location = 
    // if the relative path starts with/
    rel.startsWith('/') 
     // go to http(s)://{domain}/{relative path} 
     ? `${location.protocol}//${location.host}${rel}` 
     // otherwise go to http(s)://{domain}/{current path}/{relative path} 
     : `${location.protocol}//${location.host}${location.pathname}/${rel}` 
// call the function providing the relative path to use 
})('/path') 
関連する問題