Navigating from a scene within a frameset

iframe

(Willem) #1

Hi,
I have a scene containing an element onto which I attach a click event handler with an action of “Open URL” and then I set the URL to a another Hype page. It works perfectly in normal conditions, but the page needs to function inside a frameset. The expected behavior is to:

  1. load the outer HTML page that contains a frameset.
  2. One of the frames in this page points to the first Hype page.
  3. Within the first Hype page, there is a element that has the click event attached to it (using the Hype editor) with an action of “Go to URL…” and a URL set to the second Hype HTML page.
  4. When the user clicks this page the HTML frameset frame should navigate to the URL.

Instead, what happens is that (at step 4) the outer HTML window navigates to the URL, replacing the frameset completely. This is due to the line in HYPE.js that calls “window.top.location = url;” (minified to “r.top.location = g;”), instead of “window.location = url;

Can you advise what I need to do to navigate the current HTML window instead of the top window?


(Mark Hunte) #2

You could just make the click run a javascript function and put:

window.location = url;

in as the function


(Ad Bos) #3

Hi there,
Stumbled upon this thread while having the same problem.
I want to open a new page in a frame called ‘mainFrame’

I made a function as descripted and goes like this:

window.mainFrame.location = https://marianta.home.xs4all.nl/sitekapriolorg/website2016/bio.html;

but to no avail
I get the action associated with the click in the scene in the top frame, but no update to my url in the mainFrame

Can you tell me what i do wrong here?

Regards,
Ad


(Jonathan Deutsch) #4

I’m not sure if mainFrame has specific meaning, and also you’d at least need quotes around the URL. You probably want something like:

top.location.href = "https://marianta.home.xs4all.nl/sitekapriolorg/website2016/bio.html";

(Ad Bos) #5

‘mainFrame’ is the name for the frame where i want to place the new page.
As I understand from surfing some forums html5 does not support frames at all, so probably i need to assign an iframe in the Hype document with the html page as the source.
What i want to achieve is a faster loading time of the generated hype data of my website.
At the moment the loading time is quite long before you see content. see:
www.kapriol.org and click on english to know what i mean

The hype document contains 6 scenes and has a considerable height in some scenes
What i like to do is have a menu on top and html frame that is being refreshed with new content on click of the hype doc menu…


(Jonathan Deutsch) #6

This is probably the easiest approach, and I believe there’s more documentation on addressing iframes.