RegisterStartupScript and Firefox

D

Dune88

I've got some code that uses Page.ClientScript.RegisterStartupScript to call
a javascript function from the Page_Load method in the code behind.

The code works fine in IE but the javascript function is not called at all
in Firefox. I stripped my code back to the basics and all I have now is a
webform with no controls on it and the following in the code behind:

protected void Page_Load(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(typeof(Page),
"TestScript", "<script type='text/jscript'>alert('test script');</script>");
}

This very basic webform works in IE but not in Firefox.

I'm running .NET Framework 3.5, IE 7 and Firefox 2.0.0.11. I added
"onload="alert('onLoad')"" to the body tag to ensure that javascript was
enabled and popups were not being blocked in Firefox. The onLoad alert came
up fine but the alert added by the RegisterStartupScript did not come up.

Can anyone shed any light on this?

Cheers
 
J

Jonathan Wood

I haven't done much with RegisterStartupScript but it might be helpful to
see what the resulting HTML is, especially if you've narrowed it down to a
bare-bones page.
 
M

Mark Rae [MVP]

protected void Page_Load(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(typeof(Page),
"TestScript", "<script type='text/jscript'>alert('test
script');</script>");
}

This very basic webform works in IE but not in Firefox.

I'm running .NET Framework 3.5, IE 7 and Firefox 2.0.0.11. I added
"onload="alert('onLoad')"" to the body tag to ensure that javascript was
enabled and popups were not being blocked in Firefox. The onLoad alert
came
up fine but the alert added by the RegisterStartupScript did not come up.

Can anyone shed any light on this?

That's because you're telling the browser that it should process a script
type of text/jscript - that will only work in IE, Opera and Safari:
http://krijnhoetmer.nl/stuff/javascript/mime-types/

If you *must* include the script tags, make sure you use
type='text/javascript', which will also work in FireFox etc...

However, it's much safer to let ASP.NET output the script tags dynamically
according to what browser it detects, by using the boolean overload of the
RegisterStartupScript method:
ClientScript.RegisterStartupScript(typeof(Page), "TestScript", "alert('test
script');", True);
 
D

Dune88

Thanks for all the replies!

Changing "jscript" to "javascript" worked perfectly as did using the boolean
overload.

Doh! I should have spotted that earlier!
 
Joined
Jun 26, 2009
Messages
4
Reaction score
0
Hi all,
I have a similar problem with FF and JavaScript :)
It works in IE but not in FF ...

<b>Javascript :</b>

function ChangeMessage(element) {
element.value = 1 - element.value;
__doPostBack(element.id, '');
}

function ValidateAddClub(element) {
alert(element);
if (element.value == "Free") {
return true;
}
return false;
}


<b>Code behind :</b>

string javaScriptEvent = string.Empty;
javaScriptEvent = string.Format("javascript:ChangeMessage({0});", this.hdnMessageStatus.ClientID);
this.txtNewClubName.Attributes.Add("onblur", javaScriptEvent);
// the first function works (?!)


javaScriptEvent = string.Format("javascript:return ValidateAddClub({0});", this.hdnValidationStatus.ClientID); ClientID, UniqueID - same result...
this.lbtnAdd.Attributes.Add("onclick", javaScriptEvent);
// but this one doesnt...


<b>HTML :</b> (page source)

<div class="submiter">
<a onclick="javascript:return ValidateAddClub(ctl00_cphPage_hdnValidationStatus);" id="ctl00_cphPage_lbtnAdd" class="roll" href="javascript:__doPostBack('ctl00$cphPage$lbtnAdd','')">ADD CLUB</a>
</div>

I would appreciate if someone answer to me...
Thx... :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,982
Messages
2,570,186
Members
46,744
Latest member
CortneyMcK

Latest Threads

Top