JQuery :: Use A Parent-frame - Objected To Make Child-frame AJAX?
Aug 26, 2011
I have a domain: example.com; which is the parent.And a subdomain: api.example.com; which page 'receiver.html' is being loaded in an iframe, child of parent. Both pages set document.domain = example.com.
I'm trying to adapt this code:[url] but Idon't want to load jQuery from the <iframe> again but I need to have the method $.ajax() working from the <iframe> otherwise it would be a cross-domain request and the browser would abort it. I tried ingenuously to set via $('iframe')[0].contentWindow.$.ajax = $.ajax() and I just got a shortcut to the parent page jQuery method. I also tried to "clone" it using $.expand (true...) but the method doesn't work for me; probably because of the complexity of the objected I'm trying to clone. So is there a way for me to use jQuery to have only a $.ajax() method in the <iframe> ? I've thought even about creating a XHR in the child-iframe and then use that in the $.ajaxSetup ({xhr: THATNEWXHR}) but I couldn't do it. I mean, I want to use the XHR factory from jQuery (which has fallbacks for IE, etc) but it has to be created from the iframe-child.
Maybe there is other way to make the AJAX call come from the child-iframe.
If you're wondering "why don't you load jQuery from <script> in the child-iframe", there is a reason... As I'm using jQuery plugins + my own custom javascripts + other independent scripts I created a compiler which minifies each file and bundle them in one. The advantage of this is the reduction of HTTP requests. So "why don't you load that bundle inside the child-iframe?", because it's ugly and Twitter doesn't... Yeah, I like to take Twitter as a reference and I think if they were able to make it so can I;
I got to work in most browsers except IE and Operaby doing it with pure javascript.
I'm "attaching" the code for you guys to test. If you open it with Chrome, Safari or Firefox you will receive 2 alerts one with the return of $.get() and another with the return of a request made via XMLHttpsRequest object. Otherwise (if you open it with IE or Opera) you'll get 'undefined' in the first alert but the real return in the second.
I have a parent document that has a frameset with two frames in it. The first frame is a "header" that runs across the top of the site, and never changes. The second frame contains the "content" of the site. Essentially, I am trying to figure out how to prevent the header appearing above external sites when the user clicks an external link in the "content" frame.
Every time the content frame changes to a new URL, I would like the check that URL and determine if the content frame is changing to an external URL (i.e. different domain in URL) or to an internal link (same domain in URL). If the content is changing to an external link, I want to break out of the frame and just load that external link in the top most document.
I would like all of my javascript to be in the parent document, not spread throughout the individual pages of the site. I was trying to approach this by setting the onunload event handler of the content frame, but I am left with a couple of specific questions: 1. In handling an unload event, can you determine the next URL that the document is loading? Code:
Im trying to make a back button that reloads the previous page the user was at. The back button will be on a small top frame and the page that needs to be controlled will be in the main frame.
The top frame is just a navigation system, and all pages will be loaded in the main frame. Im trying to use this Code:
How do I force a window, pened alone, to be displayed in its frame set?
tried this:
if (parent.location.href == self.location.href) { window.location.href = '../' }
the problem is that the original page is replaced by the main.htm page (the default page for the 'main' frame)., because the open event of the menu page calls for the main.htm to be loaded. Is there a way that I could pass a page name as an argument to the index page at all? Something like window.location.href='index.html?Loc=IT_Study___In formation.htm'
I'm trying to create an HTML page that contains two frames. The bottom frame should simply be some website, but the top frame needs to have a close link to kill the window. I tried calling 'document.window.close()' from the child frame, but without success. I then tried putting the 'close()' call in the parent page and calling it from the child, but still without success. Code:
I want to have a main image in place and when you click on 1 of the 3 frame options the frame changes showing a preview. Also I would like the add to cart button change its code to add the correct item as well.
I have a document that contains a child frame with name/id = "help_frame". From Javascript in the top level document I can access the child frame's elements using:
var elem = document.frames.help_frame.document.getElementById ("chkSynonym");
but if I try:
var elem = document.frames.help_frame.document.chkSynonym;
the result is 'undefined'. What is wrong with my syntax?
I have a frameset page that creates several subframes. Does anyone know how to inject the script tag or some js code into the child window before loading of the child frame begins? The reason is to make the pages back-compatible with another system without changing a lot of code. If I can inject the script before the page loads, then it will handle the compatibility issues.
I've successfully injected the code into the child frames by using: frames.childName.window.eval.call(frames.child_name.window, myCode);
And the functions are available to the child frame after it loads, but the code needs to be available to the child frame before/while it is loading.
i need to pass the data in the textfields from the left frame to the textfields in the right frame of my frameset. (ex: dslnum of frame1 will be pass to txtDSLTN of frame2)[URL]
I have two frames (frameset, let's call it frame1 and frame2). Frame1 has links..., and frame2. When some link in frame1 is clicked, it must be changed content of the frame2. Here's example: click. How to do that? (I don't see any javascript code)
I have a little problem, I structure my site with a main page index.html with a frame in the central whit name CENTRALE, so every other page I will open within this frame. Now I need to have a direct link to these internal pages, give an example I wish it were possible to go to the page clothing giving a direct link to that section of the site type www.indirizzo.com / clothing.html because the state of things if I take the 'direct address to that page I open only the part inside of the frame, but I wish I would open inside the "main frame, there is a solution in javascrip to overcome this problem?
Inside my iframe when someone clicks on a thumbnail, I want to change the value of imageon in the parent window.
Here is what I am doing
//I will hardcode the #4 here for this example i_imageon =4;
/* here I have to tell my parent page that they clicked on a thumbnail so my parent page knows where to pick up when they start hitting the next or prev arrows */ parent.document.imageon = i_imageon;
This is not working. Any ideas? Onclick, I can alert i_imageon and it shows what I need. The problem is, it is not setting the var imageon to this value in my parent frame.
I am encountering a problem where I have a window and there are three frames, one in the left, right and in the bottom. The bottom most frame has common submit buttons. There are several tabs in left frame. Each one loads a different form on the right frame. After fetching the contents of the form from user, I am validating the text fields in the form using onChange() event handler. After entering the text value in the textbox, if I press Submit directly, the "Submit" as well as the validation routine happens concurrently. Only at the end of validation, the field is marked as dirty. Now, if field is not marked dirty, the Submit function will close the window without actually submitting as nothing was changed. So when an invalid value is entered and the Submit is pressed directly, an alert pops up temporarily but the close() call from the parent frame immediately closes the alert window before user can respond. This problem does not occur in IE as in IE, unless the alert window is responded, the close() call cannot close the alert window. Code:
I have searched the net extensively for a js link code that will scroll to the top of the parent frame.So, link is in iframe within a parent frame that I can't control. Therefore I cannot place any 'a name' attribute in any link in the parent frame. But would like to scroll to the top once the button in my iframe is clicked.I have used most scroll, document scroll to parent etc js functions but none of them scroll to top of parent page and some require a name to be placed in parentthis is my simple link<a href="#">go to top</a>
What I'm trying to do is make it so when a visitor or a search engine tries to view a page outside of the parent frame it reloads that particular page inside the parent frame. All the scripts I've tried WILL redirect the visitor back to the parent frame, but NONE of them will then load the previously viewed page into the 'main' frame. I don't want visitors to have to navigate through the site to find the particular page they were viewing.
I have seen this script before but I can't remember which site was using it, also without a redirection to the frames the site won't display properly and navigation would be difficult. Code:
I have a web page. In that there is a toggle button to show or hide advanced search options. Below that there is a "IFrame A"(Table). IFrame A conatins "IFrame B" (Table Contents). Based on the toggle switch status, i want to update "IFrame A" size without refreshing the "IFrame B".Is it possible to do so ? Can you give me some example or point to some tutorial .
I have a frameset with two frames; topFrame and mainFrame. I have code in topFrame and wish to print the contents of mainFrame. The code that I have used has worked for many years and still works on my localhost Apache Server. However, it has now "stopped" working. When I press the button in topFrame it prints the contents of topFrame The code that I am using is
I use dreamweaver mx html editor to make web sites. I think I know enough Html to get by. My new site uses a frame set so the head and controller don't change reload or move. This works nice, now all I have to do to make a new page is make the content page. But my problem is if I send out a link for someone to look at, it only loads the content page and not the frame set. I thought I could use javascript to determine if the frame set is present and if not load it. But I can't seem to find a way to sent variables from one frame to another. Also if a user clicks a link I would like my flash controller to reflect it.
I need to know how to refresh a bottom frame TO a specific dynamic URL from my top frame (meaning the code has to be in the top frame) say every 5 seconds. The top frame will be a php file as I need DB values. But I believe the frame thing is done via javascript. This ain't working so far, it only loads the first URL at not the rest. Is there the ability to refresh to a specific url in a target frame. Code:
One more question about manipulating iframes. In a script I've looked through to investigate AJAX file uploads, there is this technique for accessing the contents of an iframe:
Code: if(frame.contentWindow) { var thebody = frame.contentWindow.document.body; }else if(frame.contentDocument) { var thebody = frame.contentDocument.document.body; }
I haven't been able to find much info on contentWindow and contentDocument. In fact, other sources I've found talk only about using contentWindow to access an iframe's contents, ignoring contentDocument completely. What is the difference between the two, and what browsers is the contentDocument check targeting? Any modern browsers, or is this a backward compatibility thing?
To sum up this issue, I have a parent page, which holds some values in hidden input fields passed to them from the url. On this page, I have an iframe with a form in it, to which I want to pass values from these hidden fields to be displayed for the user in the iframe form. In IE, it works. To accomplish this, im just simply doing a <body onload="GetInput()">. The GetInput function does the following, but for about 10 fields:
Fnamefield=document.getElementById('firstname').value = parent.document.getElementById('firstname').value; Thats it. Once the page loads, i see my values. In firefox it does not work. I know the hidden fields are getting their values, but thats as far as it makes it. I have tried calling the GetInput function after the form is written out and not in the body tag, which still works for IE, but not FF.