Vamshi
Vamshi

Reputation: 74

$(document).open() not working under these circumstances

I apologize in advance if this has been asked before. So the circumstances I mentioned in the title is this:

I am writing html into a new window.document.open() object. The html I am writing also includes in the head. This is the script I am not able to run,

<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.3.min.js"></script>
<script>
   $(document).ready(function(){
       alert('This is working!');
     });
</script>

The interesting thing is that every other jquery code works. For example in my html I have a button with id='but' and this script works

 $('#but').click(function(){
     alert('you clicked a button')'
   });

so why is the $(document).ready() not working? Is this because window.document.open() doesn't count as document for jquery?

Thanks in advance.

edit: I think my question is unclear. I am terribly sorry about that. Here's the situation: I have a javascript file that essentially has this:

    var w=window.open();
                    var temp=`
                    <!DOCTYPE html>
                    <html lang="en">
                    <head>
                        <meta charset="UTF-8">
                        <title> Template for converted files</title>
                        <script type="text/javascript" src="https://code.jquery.com/jquery-2.2.3.min.js"></script>
  <script type="text/javascript" src="file.js"></script>
                        <script>
                               $(document).ready(function(){
               alert('This is working!');
             });
                        </script>
                    </head>
                    <body class="body">
                     <button id='but'>click me!</button>
    </body>
    </html?
                    `;
                    w.document.open();
                    w.document.write(temp);

the file file.js has the following:

$('#but').click(function(){
     alert('you clicked a button')'
   });

now when I run the first JS file, I am able to open a new window with the button. when clicked it says "you clicked a new button" But the alert "This is working!", isn't working.

Hope this makes the situation clear. I am really sorry for not being clear from the start.

Upvotes: 0

Views: 74

Answers (1)

charlietfl
charlietfl

Reputation: 171690

Because jQuery has no method open() in it's api.

open() is a window method only.

You can refer to the new window by passing it to a variable:

var win = window.open(url[,options]) 

Upvotes: 3

Related Questions