Я столкнулся с странной ситуацией. Я пишу букмарклет JavaScript, который позволит пользователям легко и быстро щелкать и обмениваться внешними веб-сайтами на нашем сайте. Он просто получает заголовок, URL-адрес страницы, и если они выбрали любой текст на странице, он также захватывает его.
Проблема заключается в том, что по какой-то причине она не работает с внешними доменами, поэтому, если мы ее внутренне используем, мы получаем окно совместного доступа с URL-адресом, отформатированным следующим образом:
http://internaldomain.com/sharetool.php?shareid=http://internaldomain.com/anotheroddpage.html&title=....
Это работает отлично, но если мы попытаемся использовать внешний домен и получим URL-адрес, форматированный следующим образом:
Затем мы получаем Forbidden Error на нашей странице и не можем ее загрузить... Если мы вручную удалим http://
с внешнего домена, он снова загрузится.
Итак.. Я думаю, что лучшим решением этой проблемы является изменение закладки буклета JavaScript для удаления http
при загрузке окна. Вот как выглядит мой текущий букмарклет:
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)+
Как вы можете видеть, e(l.href)
- это путь, по которому передается URL.
Как я могу изменить это, чтобы удалить внешние домены http://
?