Categories
Web Development

JavaScript: Accessing the window’s location

Just confusing.
I was trying to access the location of the current window using
window.location.

That works, but surprisingly, that is NOT a string object, but an object.
To get a string out of the location, you must access
window.location.href
which is the full URL in the window.

Share
Categories
General

IE and onblur events

Internet Explorer is less than perfect.
The example of the day:
If you want to catch blur events, this way:

and you have a textarea element within the same body element, clicking inside the textarea element will fire the blur event for the body.

Retarded, I know. I am too.

Share
Categories
Computing Web Development

JavaScript modal windows

I have an application for which I want to get some input from the user and since the UI is already overloaded, I decided to that using a pop-up window. Since I want to make sure the user is entering the information in the pop-up or returns to the application a modal (stays on top) window is one course of action.

This is the code I used in the window that opens the popup window:
<html>
<head>
<title>Parent Window</title>
<script type=”text/javascript”>

var popup = null;
var count = 0;
var pop_name = “offshoot”;
var pu_open = false;

function open_modal()
{
var pop_local = pop_name + count;
popup = window.open(“offshoot.html”, pop_local, “width=640,height=480,status=yes”);
count++;
}

function do_modal()
{
try
{
popup.focus();
}
catch(e)
{

}

}

document.onkeyup=do_modal;
document.onmousedown=do_modal;
document.onmousemove=do_modal;
</script>

</head>
<body>

<a href=”javascript:open_modal()”>Open modal popup</a>

</body>

</html>

As for the popup window:
<html>
<head>
<title>Offshoot window</title>

<script type=”text/javascript”>

</script>

</head>
<body >
<h1>This is modal?</h1>
<textarea cols=”40″ rows=”5″ id=”comment” name=”comment”></textarea>
</body>

</html>

There are two bits to look at:

  • The big idea deals with the popup window retaining the focus with the onblur="self.focus()"
  • Because IE exists, we have to circumvent some silly errors, such as:
    The callee (server [not server application]) is not availableand disappeared;all connections are invalid. The call did not execute.
    One way to avert that is follow this advice and modify the name of the pop-up window – which I do using the count variable.
Share
Share