473,383 Members | 1,821 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,383 software developers and data experts.

Novice Seeks Help

I am trying to understand a bit of JavaScript from
http://developer.yahoo.com/maps/simple/jspost.html (appended below). I'd
appreciate help understanding two things it. The first is the following:
<script type="text/javascript">
createForms();
</script>
I don't understand the "createForms()". I know it must be JavaScript but I
have looked in the index of several references and do not find any such
entry in their indices. My online searches got a few hits but nothing
helpful. Where can I find some online doc for createForms()? It seems to
create a button labeled "View on Y! Maps" but where does that text (i.e.
"View on Y! Maps") come from?

The HTML also contains the following javascript: document.write("<scr"+"ipt
language=javascript
src=http://l.yimg.com/us.js.yimg.com/lib/bc/bc_2.0.4.js></scr"+"ipt>");.
Why is the concatenation operator, +, being used here? To my naive mind it
seems to be unnecessary.

I'll appreciate any help anyone can offer. Thanks, Bob
JavaScript from http://developer.yahoo.com/maps/simple/jspost.html ...
<html>
<head>
</head>
<body>
<script type="text/javascript" src="jspost.js"></script>
<h2>Java script POST sample</h2>
<p>Clicking this Button executes a POST request (Sorry, does not work in
IE)</p>
<p>In this sample the RSS feed is hardcoded. To make this sample into a cool
application, dynamically generate a feed.</p>
<script type="text/javascript">
createForms();
</script>

</body>
</html>
<!-- spaceId: 792400132 -->
<!-- VER-58 -->
<script language=javascript>
if(window.yzq_p==null)document.write("<scr"+"ipt language=javascript
src=http://l.yimg.com/us.js.yimg.com/lib/bc/bc_2.0.4.js></scr"+"ipt>");
</script><script language=javascript>
if(window.yzq_p)yzq_p('P=Ri5IOtFJuhuNCf_2Qp5bhM6XR Xl91EgegosABGIP&T=13tvhfkhm%2fX%3d1209959051%2fE%3 d792400132%2fR%3ddev_net%2fK%3d5%2fV%3d1.1%2fW%3dJ %2fY%3dYAHOO%2fF%3d1430890299%2fS%3d1%2fJ%3dCCBB49 D1');
if(window.yzq_s)yzq_s();
</script><noscript><img width=1 height=1 alt=""
src="http://us.bc.yahoo.com/b?P=Ri5IOtFJuhuNCf_2Qp5bhM6XRXl91EgegosABGIP&T=142 luogtl%2fX%3d1209959051%2fE%3d792400132%2fR%3ddev_ net%2fK%3d5%2fV%3d3.1%2fW%3dJ%2fY%3dYAHOO%2fF%3d38 81337183%2fQ%3d-1%2fS%3d1%2fJ%3dCCBB49D1"></noscript>
<!-- com3.devnet.re3.yahoo.com compressed/chunked Sun May 4 20:44:11 PDT
2008 -->
Jun 27 '08 #1
4 1336
"eBob.com" <eB******@totallybogus.comschreef in bericht
news:BJ*********************@fe07.news.easynews.co m...
>I am trying to understand a bit of JavaScript from
http://developer.yahoo.com/maps/simple/jspost.html (appended below). I'd
appreciate help understanding two things it. The first is the following:
<script type="text/javascript">
createForms();
</script>
I don't understand the "createForms()". I know it must be JavaScript but
I have looked in the index of several references and do not find any such
entry in their indices. My online searches got a few hits but nothing
helpful. Where can I find some online doc for createForms()? It seems to
create a button labeled "View on Y! Maps" but where does that text (i.e.
"View on Y! Maps") come from?

The HTML also contains the following javascript:
document.write("<scr"+"ipt language=javascript
src=http://l.yimg.com/us.js.yimg.com/lib/bc/bc_2.0.4.js></scr"+"ipt>");.
Why is the concatenation operator, +, being used here? To my naive mind
it seems to be unnecessary.

I'll appreciate any help anyone can offer. Thanks, Bob

a)The html source also contains a line
<script type="text/javascript" src="jspost.js"></script>
That is a javascript file. It will be loaded and becomes part of all the
javascript on the page. In that file function createForms() will have been
declared. (Try viewing the js file.)

b)The only difference between "script" and "scr"+"ipt" that I can think of
is to make it harder to find script elements in a file via text search in
the source.

Tom
Jun 27 '08 #2
On May 9, 1:41 pm, "eBob.com" <eBob....@totallybogus.comwrote:
I am trying to understand a bit of JavaScript fromhttp://developer.yahoo.com/maps/simple/jspost.html (appended below). I'd
appreciate help understanding two things it. The first is the following:
<script type="text/javascript">
createForms();
</script>
I don't understand the "createForms()".
It is defined as a function in the script file, jspost.js, which is
added to the page by the first script element.

[...]
>
The HTML also contains the following javascript: document.write("<scr"+"ipt
language=javascript
src=http://l.yimg.com/us.js.yimg.com/lib/bc/bc_2.0.4.js></scr"+"ipt>");.
Why is the concatenation operator, +, being used here? To my naive mind it
seems to be unnecessary.
It is, though it might be used to keep the code tidy. However, it
seems to have been used above in an attempt to make browsers ignore
the script tags within the string literal when parsing the content of
the script element (which they must do to find the closing </script>
tag)

The example above is erroneous, since the bit that closes the tag is
"</", so that is what must be hidden by escaping the forward slash, so
it should have been written:

document.write("<script ...>....<\/script>");
Also, the language attribute is deprecated and shouldn't be used, type
is required.
[...]
</body>
</html>
<!-- spaceId: 792400132 -->
<!-- VER-58 -->
<script language=javascript>
if(window.yzq_p==null)document.write("<scr"+"ipt language=javascript
src=http://l.yimg.com/us.js.yimg.com/lib/bc/bc_2.0.4.js></scr"+"ipt>");
</script><script language=javascript>
[...]

It is examples like this that create a low opinion of such sites, even
though there are many other exmaples of technical competence. In
addition to the errors already mentioned, nothing should be placed
after the closing <htmltag.
--
Rob
Jun 27 '08 #3
eBob.com wrote:
<snip>
The HTML also contains the following javascript:
document.write("<scr"+"ipt language=javascript src=http://
l.yimg.com/us.js.yimg.com/lib/bc/bc_2.0.4.js></scr"+"ipt>");. Why is
the concatenation operator, +, being used here?
It is a mystical incantation chanted in the face of an issue that the
author of the page does not understand.
To my naive mind it seems to be unnecessary.
It is unnecessary (and fails fully address the issue it is aimed at
addressing).

When an HTML parser encounters an opening SCRIPT, where the script
element had content, it needs to work out where the corresponding
closing SCRIPT tag is before it can pass everything in-between into its
javascript interpreter. To do that it can do no more than scan the
following text for some significant character sequence. In the event
that it encounters the character sequence "</script>" it is going to see
that as being the closing SCRIPT tag that corresponds with the opening
one, regardless of where that character sequence may appear (that is.
even if it is inside a javascript string literal the HTML parser will
know nothing about that and just look at the character sequence).

This makes the first concatenation obviously pointless, as the HTML
parser is only interested in closing tags not opening ones. The second
concatenation does have the effect of modifying what may otherwise have
been the character sequence "</script>" and so does render the result
uninteresting to the HTML parser. However, the concatenation is still
unnecessary and adds an avoidable runtime operation because it is
possible to disrupt the "</scriptcharacter sequence by inserting a
backslash character into it (which the javascript interpreter will treat
as an escaping character and process out of the string before it
finishes compiling the code). That is, employing the character sequence
"<\/script>" in the javascript string literal is sufficient to prevent
the HTML parser miss-attributing the result as a closing script tag and
avoids the runtime concatenation.

In addition, the HTML specification does not require the HTML parser to
be looking for the "</script>" character sequence, it actually says that
the first occurrence of the character sequence "</" can be taken as
terminating the CDATA content of a SCRIPT element. No browsers have been
observe to be that strict when handling HTML, but there are not
technical grounds for objecting if one was observe to be taking the HTML
specification literally in this regard. You will observe that while the
second concatenation operation above does disrupt the "</script>"
character sequence it does not disrupt the contained "</". Thus though
it may address the issue as observed it fails to address the theoretical
issue, while using the '<\/script>" sequence as an alternative addresses
both (but still leaves all other possible occurrences of mark-up text in
javascript string literals needing some attention given it their closing
tags). (Note that none of this is relevant in javascript files that are
imported with script SRC attributes as they are never exposed to an HTML
parser).

Richard.

Jun 27 '08 #4


Jun 27 '08 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Ewa | last post by:
Hello I have inherited a www service after someone, I have problems with PHP parts. As I am complete novice. I will be very greatful for your help - I did not managed to find an answer myself....
4
by: Tim Bird | last post by:
Hi all. I have recently installed VB2005 so teach myself programming, could anyone suggest any links to useful websites, or help sites, Ideally I am looking for tutorials, written for the...
3
by: Ian | last post by:
'm hoping someone can help me resolve a problem I am having with stylesheets. I've only just started usinbg them so it's more than likely something similar. Trouble is I don't seem to be able to...
4
by: trond | last post by:
Hello all, Before I start I'd like to point out that I am a complete novice when it comes to asp.net - My background is in network and operating systems, and although I have been doing a bit of...
0
by: James Johnson | last post by:
I have a file that I open a FileStream and a StreamReader for. I issue a SEEK and read a series of records. I then issue another SEEK, no errors, but when I issue the read it picks up where the...
2
by: ducky | last post by:
Hi all, The only programming experience i have under my belt so far is VB. I'm just starting out on C++ and wonder if anybody suggests and good (free) starting points for me to get going. I'm...
9
by: Kelii | last post by:
I've been trying to get this piece to work for a few hours, but have given up. I hope someone out there can help, I think the issue is relatively straightforward, but being a novice, I'm stumped....
0
by: Greg Corradini | last post by:
Hello all, I'm having trouble inserting an SQL selection into a new MS Access table. I get a parameter error on my insert statement when I try this (see below for code and error msg). I'm not sure...
0
by: LK~ICT | last post by:
Sri Lanka rural e-learning project seeks corporate support Dec 04, 2007 (LBO) - A Sri Lankan e-learning initiative for rural students is seeking corporate sector support to expand and cover 400...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.