单击按钮:打开一个新的浏览器选项卡并调用一个函数

时间:2018-09-17 15:28:36

标签: javascript html

我有一个按钮,该按钮调用一个函数:

  • 向数据库执行AJAX PHP请求

  • 在div容器中显示检索到的数据

  • 滚动到带有书签(#)的div容器

我想让一个按钮执行相同的任务,但是要执行一个操作,即打开一个新标签并滚动到div。因此必须:

  • 打开新标签页
  • 调用执行请求的函数
  • 在div容器中显示检索到的数据
  • 滚动到带有书签(#)的div容器

我该如何实现?

2 个答案:

答案 0 :(得分:1)

我建议与query strings合作。 在AJAX回调中检索数据后,请对其进行urlencode并将其附加到路由的链接中。

$.ajax({
    url : 'example.com',
    type: 'GET',
    success : (response) => {
        window.open(
            'http://example.com/my-target-route' + '?content=' + encodeURIComponent(response.data) + '#my-div-container',
            '',
            ''
        )
    }
})

在目标页面上,解析查询参数如下:

let urlParams = new URLSearchParams(window.location.search);
let myDiv = document.querySelector('#my-div-container');

myDiv.innerHTML = urlParams.get('content');

或者,您可以尝试run a method in the new tab from local storage

答案 1 :(得分:1)

您可以使用默认的锚定行为,并使用 window.open('http://yoururl/#divContainerToScrollToID', '_blank');