Разрешить параметр «Открыть ссылку в новой вкладке» в JavaScript: window.open - PullRequest
0 голосов
/ 08 марта 2011

Я использую Single File Photo Gallery и хочу сделать один мод для скрипта ... В настоящее время изображения открываются в новом всплывающем окне при щелчке левой кнопкой мыши.Если вы щелкнете правой кнопкой мыши по изображению большого пальца, он разрешит вариант «Открыть ссылку», но не «Открыть ссылку в новом окне» или (что наиболее важно для того, чего я хочу добиться) «Открыть ссылку в новой вкладке».Я немного погуглил, но так как я не очень разбираюсь в php (вроде обучения по ходу дела), некоторые вещи, которые я нашел, не работают.Я сузил часть кода до следующего и надеюсь, что кто-то может взглянуть на него и дать мне знать, что нужно изменить, чтобы разрешить щелкнуть правой кнопкой мыши опцию «Открыть ссылку в новой вкладке». Большое спасибо.

          if (USE_JAVA and IMAGE_IN_NEW_WINDOW)
      {
        echo "<a href=\"javascript:void(null)\" onClick=\"javascript:window.open('" . sfpg_url(GALLERY, $images[$item], "", "imageform") . "', '', 'toolbar=no, menubar=no, location=no, scrollbars=yes, resizable=yes');\">";
      }
      else
      {
        echo "<a" . (IMAGE_IN_NEW_WINDOW ? " target=\"_blank\"" : "") . " href=\"" . sfpg_url(GALLERY, $images[$item], PAGE, "imageform") . "\">";
      }

Хорошо, не уверен, почему это было удалено Тимом Постом, который является модератором, это должно было стать дополнительным объяснением моей проблемы ... В любом случае, я сделаю репост, поскольку я не думаю, что я 'Если вы нарушили какие-либо правила, ссылка на картинку - это еще одно объяснение моей проблемы.

(О боже, вы можете сказать, что я новичок здесь? Я не могу обработать комментарий, потерял то, что набрал, по крайней мере, 5 раз ... Во всяком случае, это то, что я пыталсянапиши Алексу ...)

Привет, Алекс, спасибо, что уделили мне время. Думаю, я не объяснил свою проблему должным образом ... Сценарий «Фотогалерея одного файла» уже открывает только изображение в моей галерее.в новом всплывающем окне (см. javascript: window.open в коде, который я разместил выше).

Это нормально, но не идеально для того, как я хочу использовать свои страницы галереи.

В идеале я хочу, чтобы ОПЦИЯ открыла ссылку в новой вкладке.Это нормально, что фотографии открываются в новом окне, так как они открываются в настоящее время, если вы МОЖЕТЕ открыть в новой вкладке, если захотите.

Хмм ... Я до сих пор не думаю, что яочистить .. Вы знаете по ссылке, если щелкнуть правой кнопкой мыши стандартные параметры (сверху вниз) "Открыть", "Открыть в новой вкладке", "Открыть в новом окне" и т. д ... Ну, в настоящее время параметры для новой вкладкии новое окно серые.

Я постараюсь опубликовать фото того, что я имею в виду (если это работает)

Хорошо ... картинка не работает ... вот ссылка:

http://i.stack.imgur.com/1UFaM.jpg

Ответы [ 2 ]

0 голосов
/ 08 марта 2011

Мне удалось разобраться ...

Я удалил эту строку кода:

  {
    echo "<a href=\"javascript:window.open('" . sfpg_url(GALLERY, $images[$item], "", "imageform") . "', '', 'toolbar=no, menubar=no, location=no, scrollbars=yes, resizable=yes');\">";
  }
  else

Оставить только с этим:

  if (USE_JAVA and IMAGE_IN_NEW_WINDOW)
  {
    echo "<a" . (IMAGE_IN_NEW_WINDOW ? " target=\"_blank\"" : "") . " href=\"" . sfpg_url(GALLERY, $images[$item], PAGE, "imageform") . "\">";
  }

И он по-прежнему автоматически открывает изображение в новом окне, единственное, что он сохраняет панель инструментов / menubar / location / etc в новом окне, но он также позволяет опцию щелкнуть левой кнопкой мыши и открыть в новой вкладке. ! Таким образом, при щелчке левой кнопкой мыши он может быть не таким красивым и аккуратным, но, по крайней мере, он имеет полную функциональность при щелчке правой кнопкой мыши! В любом случае этого достаточно для того, чего я хочу.

0 голосов
/ 08 марта 2011

Вы не можете заставить браузер открываться исключительно на вкладке или в окне, лучше всего вы можете использовать _blank, которое будет новым окном или вкладкой в ​​зависимости от браузера и его настроек.

Лучшее, что вы можете сделать, это сделать событие oncontextmenu, создать свое собственное меню и собственную кнопку, которая вызывает window.open(url, '_blank'), однако замена пользовательских контекстных меню очень раздражает и часто отключается.

...