如果在其他页面上找到文本,则会发出Javascript警报

时间:2016-08-25 22:28:02

标签: javascript jquery

目前,如果在该页面上找到文本,则使用此代码显示弹出窗口。但是,如果文本存在于原始页面上,我想在其他页面上显示该弹出窗口。

实施例 文字在/发票上 我导航到/付款 弹出仍然运行

<script type="text/javascript">
  window.onload = function(){
    //If the body element of the page contains 'one hour turnaround' then trigger an alert
    if(document.body.innerHTML.toString().indexOf('one hour turnaround') > -1){
         alert("You have a ONE HOUR TURNAROUND order");
    }};
</script>

3 个答案:

答案 0 :(得分:-1)

最好的方法是使用Ajax HTTP GET提供URL并在响应字符串中搜索。

https://api.jquery.com/jquery.get/

答案 1 :(得分:-1)

alert默认为window.alert;运行JavaScript的当前窗口的本机警报方法。

因此,如果您想在另一个窗口(可能已使用window.open打开)中发出警报,则必须使用该窗口对象:

otherWindow.alert(...);

答案 2 :(得分:-1)

为了便于解决,您可以通过在本地存储中保存此标志并在每个页面上访问以检查该localstorage是否具有值来执行此操作,然后显示弹出窗口,否则不显示。在那之后1小时的时间跨度应该清除本地存储。所以现在你在页面上显示你现在已经有了这个元素

 window.onload = function(){
        //If the body element of the page contains 'one hour turnaround' then trigger an alert
        if(document.body.innerHTML.toString().indexOf('one hour turnaround') > -1){
              localStorage.setItem('oneHourTurnaround', "true");
               alert("You have a ONE HOUR TURNAROUND order")
               setTimeout(function(){ alert("You have a ONE HOUR TURNAROUND order"); }, 3000); // currenlty it's 3 sec
          }
        else{
            localStorage.setItem('oneHourTurnaround', "false");
        }
      }

并且所有其他页面都是

window.onload = function(){
    //If the body element of the page contains 'one hour turnaround' then trigger an alert
    if(localStorage.getItem('oneHourTurnaround')==true){
      alert("You have a ONE HOUR TURNAROUND order");
    }
 }