Можно ли скопировать, вставить, открыть новое окно в javascript? - PullRequest
0 голосов
/ 11 мая 2010

В настоящий момент, чтобы перейти к внешней ссылке из нашей интрасети, нам нужно скопировать ссылку и вставить ссылку в новое окно. Есть ли способ, которым мы можем достичь этого в одной функции в JavaScript?

Спасибо

UPDATE: Когда пользователи входят за пределы сети, URL-адреса меняются. Это то, что нам нужно для кода. Я думаю, что следующее применяется дважды, на стороне сервера и на стороне клиента (этот код не редактируется):

  s=s.replace(/location.assign\(([^;]*)\)/g,"location.assign(alter_url($1))")
  s=s.replace(/location.replace\(([^;]*)\)/g,"location.replace(alter_url($1))")
  if(s.match(/location\s*=\s*([^;]*)(;?)/)!=null&&s.match(/\.open\(.+,.+,.*location\s*=.+\)/)==null)
   s=s.replace(/location\s*=\s*([^;]*)(;?)/g,"location=alter_url($1)$2")
  s=s.replace(/location\.href\s*=\s*([^;]*)(;?)/g,"location.href=alter_url($1)$2")
  s=s.replace(/window\.open\(([^,]*)(,.*)?\)/g,"window.open(alter_url($1)$2)")
  s=s.replace(/\.src\s*=\s*([^;]*)(;?)/g,".src=alter_url($1)$2")
  s=s.replace(/\.action\s*=\s*([^;]*)(;?)/g,".action=alter_url($1)$2")
  s=s.replace(/\.innerHTML\s*=\s*([^;]*)(;?)/g,".innerHTML=alter_html($1)$2")
  s=s.replace(/\.outerHTML\s*=\s*([^;]*)(;?)/g,".outerHTML=alter_html($1)$2")

На самом деле, чем больше я смотрю на это, тем более нереально это становится ..

Ответы [ 2 ]

0 голосов
/ 11 мая 2010

Вы можете использовать window.open, чтобы открыть ссылки в новом окне. Фактически, вы можете использовать букмарклет, чтобы установить цель _blank для каждой ссылки на сайте, если вы не можете получить доступ к исходному коду приложения.

Кстати, если вы удерживаете клавишу Shift при открытии ссылки, она откроется в новом окне.

0 голосов
/ 11 мая 2010

Щелчок правой кнопкой мыши и выбор «Открыть в новом окне» не работает? Потому что, если нет, то я не вижу работающего обходного пути Javascript. Но:

Вы можете легко открыть новое окно с определенным URL (например, ссылкой) в Javascript:

window.open("http://stackoverflow.com");

И есть способов получения текста , выбранного на странице, для подачи в него. Все это можно свернуть в букмарклет , чтобы действие стало «выделение текста, нажмите ссылку на панели инструментов закладки».

Но если «Открыть в новом окне» не сработает, я бы тоже не ожидал, что это сработает.

...