从选择的下拉列表跳转到站点

时间:2013-10-12 00:25:33

标签: javascript html

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

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

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

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

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

由于

2 个答案:

答案 0 :(得分:0)

你要做的事情被称为“打开弹出窗口”,所以“弹出窗口阻止程序”当然会阻止它,因为它对99%的用户来说非常烦人(当用户只选择selectbox中的项目时打开任何链接都一样) )

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

当然你可以尝试一些hack,比如将临时<A href="" target="_blank"...>附加到html中并模仿点击它,检查Simulate Click Javascript

答案 1 :(得分:0)

坏消息:如果您希望在新标签页或新窗口中打开它(请记住,是否创建了新标签页或窗口,由浏览器决定,您可以不控制它),我认为没有window.open()你不能这样做。 好消息是使用:

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

将实现您的需求。

如果您不需要在新窗口中打开,那么document.location.href = "http://yoursite.com"将起作用。

通过这样做,您可以实现所需:check in fiddle

<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');
    }
})