从选择下拉列表中跳转到网站

Jumping to sites from a select dropdown list

本文关键字:网站 选择 下拉列表      更新时间:2023-09-26

我有一个包含站点名称的选择下拉列表。 当您选择名称时,我希望在包含所选页面的用户浏览器中打开一个新页面或选项卡。我不想只做一个window.location.href=new page并将新页面放在现有窗口中。

我可以做一个window.open(url(,其中url是从下拉列表中选择的内容,但Safari会将其作为弹出窗口阻止。

单击下拉列表中的名称需要具有单击链接的保存效果

          <a href="/chosen_site" target="_blank">View site</a>

有人对我如何做到这一点有任何想法吗?

谢谢

您要做的称为"打开弹出窗口",因此"弹出窗口阻止程序"当然会阻止它,因为它对99%的用户来说非常烦人(与打开任何链接相同,当用户只是在选择框中选择项目时

(

所以答案 - 不要这样做,或者只为自己做这件事,允许特定网站打开弹出窗口

当然,您可以尝试一些技巧,例如将临时<A href="" target="_blank"...>附加到HTML中并模拟单击它,检查模拟单击Javascript

坏消息:如果您希望在新选项卡或新窗口中打开它(请记住,是否创建新选项卡或窗口是由浏览器决定的,您无法控制它(,我认为如果没有window.open(),您将无法做到这一点。好消息是,通过使用:

window.open(
  'http://yoursite.com',
  '_blank'
);

将实现您的需求。

如果您不需要在新窗口中打开,那么document.location.href = "http://yoursite.com"就可以了。

您可以通过这样做来实现您需要的:签入小提琴

<select>
    <option value="">Nothing</option>
    <option value="http://stackoverflow.com/users/1090562/">me on SO </option>
    <option value="google.com"> google.com </option>
</select>
$("select").change(function(){
    var url = $(this).val();
    if (url){
        window.open(url, '_blank');
    }
})