Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
38
rated 0 times [  42] [ 4]  / answers: 1 / hits: 105361  / 13 Years ago, mon, november 21, 2011, 12:00:00

I have run into an odd situation. I'm writing a JavaScript bookmarklet that will allow users to click and share external websites to our website very easily and quickly. It simply get's the title, page URL, and if they've selected any text on the page, it grabs it too.



The problem is it doesn't work with external domains for some reason, so if we use it internally we end up with a share window with the URL formatted like this:



http://internaldomain.com/sharetool.php?shareid=http://internaldomain.com/anotheroddpage.html&title=....



That works just fine, BUT if we try to use an external domain and end up with a URL formatted like this:



http://internaldomain.com/sharetool.php?shareid=http://externaldomain.com/coolpagetoshare.html&title=...



Then we get a Forbidden Error on our page and can't load it... If we manually remove the http:// from the externaldomain address, it loads just fine again.



So.. I'm thinking the best solution to get around this problem is to modify the JavaScript bookmarklet to remove the http as it's loading the window. Here is how my current bookmarklet looks:



javascript:var d=document,w=window,e=w.getSelection,k=d.getSelection,x=d.selection,s=(e?e():(k)?k():(x?x.createRange().text:0)),f='http://internaldomain.com/sharetool.php',l=d.location,e=encodeURIComponent,u=f+'?u='+e(l.href)+


As you can see, e(l.href) is where the URL is passed.



How can I modify that so it removes the external domains http://?


More From » regex

 Answers
71

I think it would be better to take into account all possible protocols.



result = url.replace(/(^w+:|^)///, '');

[#89000] Friday, November 18, 2011, 13 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
turnerf

Total Points: 620
Total Questions: 101
Total Answers: 109

Location: French Polynesia
Member since Tue, Jul 7, 2020
4 Years ago
turnerf questions
;