0

I need to open a pop up window that closes automatically after x seconds. This code works fine outside Sharepoint:

 function openWin1() {
var myWindow1 = window.open("http://url here", "myWindow1", "width=500,height=400");

setTimeout(function(){myWindow1.close()}, 6000);
} 

<button onclick="openWin1()"> Open "myWindow1"</button>

But when I add it to a SP Online publishing page, the "parent" page refreshes in the background - the pop up doesn't close.

2 Answers 2

2

SharePoint pages are forms and the default button is running your JavaScript and then submitting the form. Set the button type to "button" to override this default behavior.

<button type="button" onclick="openWin1()"> Open "myWindow1"</button>
0
0

expanding on mike, yes you need "type" also in the JS code just use # to refer to the current site

<script>
       function openWin1() {
          var myWindow1 = window.open("#", "myWindow1", "width=500,height=400");

          setTimeout(function(){myWindow1.close()}, 6000);
       } 
</script>

<input type="button" value="click here to open page" onclick="openWin1()"/>

<button type="button" onclick="openWin1()"> click here to open page</button>

both button types work fine.

2
  • thanks, but the site being opened in the pop up isn't the current site.
    – matt
    Commented Mar 24, 2018 at 2:16
  • just change the '#' , the code above opens up the same site and page that you put the code in. If you want a specific site than just update the '#'
    – Ali Jafer
    Commented Mar 26, 2018 at 11:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.