相关疑难解决方法(0)

在新窗口中打开页面,没有弹出窗口阻止

希望你能在这里帮忙...我有一个表单翻译字段中的单词,用翻译的术语填充字段,然后在一个提交按钮中提交操作.

提交由jquery提出.问题是目标页面被阻止,因为所有3个主要浏览器都将其视为弹出窗口,您是否知道如何将其作为新选项卡或新窗口打开?我不想将目标设置为_self,因为我希望人们也可以打开我的网站.

我相信问题在于这个字符串:

document.forms.form1.submit();
Run Code Online (Sandbox Code Playgroud)

但我也知道应该有一种方法来改写它,这样目标不会被视为弹出窗口.

这是脚本:

<script type="text/javascript">

$(function transle() {
  $('#transbox').sundayMorningReset();
  $('#transbox input[type=button]').click(function(evt) {
    $.sundayMorning(
      $('#transbox input[type=text]').val(), {
        source: '',
        destination: 'ZH',
        menuLeft: evt.pageX,
        menuTop: evt.pageY
      },
      function(response) {
        $('#transbox input[type=text]').val(response.translation);

        //document.getElementById("form1").submit();
        document.forms.form1.submit();

      }
    );
  });
});

</script>
Run Code Online (Sandbox Code Playgroud)

这是形式:

<table id="transbox" name="transbox" width="30px" border="0" cellspacing="0" cellpadding="0">
  <form action="custom-page" method="get" name="form1" target="_blank" id="form1">

    <tr>
      <td>
        <input id="q" name="q" type="text" class="search_input" onFocus="if (this.value == 'Evening dress') {this.value = '';}" onBlur="if (this.value == '') {this.value = 'Evening dress';}" value="Evening dress" />
      </td> …
Run Code Online (Sandbox Code Playgroud)

javascript jquery popup

39
推荐指数
4
解决办法
10万
查看次数

Angularjs $ window.open弹出窗口被阻止

我试图在AngularJS应用程序中使用Github API的Web身份验证流程.当我的注册表单提交时,我想打开一个新窗口将它们发送到auth页面.通常我会window.open在用户事件中使用,以确保它不会被弹出窗口阻止程序捕获.

在我的角度应用程序中,我正在包装一些Github api和Angular服务,打开窗口的代码就在那里.因为它被阻止了.我也尝试将它放在控制器中的一个函数中,该函数由表单通过调用ng-submit.

所以问题是,是否有一种优雅的方式在我的服务或控制器内的某个地方提交表单上打开新页面,或者我是否需要找到另一种方法来执行此操作?

javascript browser popup angularjs

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

javascript ×2

popup ×2

angularjs ×1

browser ×1

jquery ×1