P
Peter Olcott
Does JavaScript represent its controls internally as Microsoft Windows controls,
or does it build them from scratch like Java?
or does it build them from scratch like Java?
Does JavaScript represent its controls internally as Microsoft Windows controls,
or does it build them from scratch like Java?
From what I remember, JavaScript can place a button on the screen. Is thisDr John Stockton said:JRS: In article <QGHDg.3811$uW1.51@dukeread06>, dated Sun, 13 Aug 2006
10:37:22 remote, seen in Peter Olcott
No.
Javascript runs on various operating systems, most not being MS Windows.
Javascript does not have controls, but allows access to controls built
by other parts of the system.
Peter said:From what I remember, JavaScript can place a button on the screen. Is this
correct, and are you then saying that on the MS Windows platform, this would be
internally represented as an MS Windows Button?
Peter Olcott said:Does JavaScript represent its controls internally as Microsoft
Windows controls, or does it build them from scratch like Java?
RobG said:Peter said:From what I remember, JavaScript can place a button on the screen. Is this
The difference between the core ECMAScript (JavaScript) language, its
built-in objects and those provided by a host environment are explained
here:
correct, and are you then saying that on the MS Windows platform, this would
be
internally represented as an MS Windows Button?
"Internally"? The ECMAScript specification does not detail how things
should be implemented, it just descibes the language itself.
"[ECMAScript] is a programming language that is used to manipulate,
customise, and automate the facilities of an existing system."
ECMAScript Language Specification section 4.
The host environment provides objects that have properties and methods,
JavaScript can be used to manipulate those objects to the extent
allowed by the host.
Most browsers provide a scriptable document object model (DOM) that
allows a script to create DOM objects (buttons, text inputs,
paragraphs, etc.) that can be manipulated using standard W3C properties
and methods as well as proprietary ones provided by the particular
browser.
The "button" that a host environment makes available in a DOM may be
different to the one that it provides to it's own development
environment. If I am running Firefox on Windows and use JavaScript to
create a button in a page, in what sense is that a "Windows button"?
If I use OmniWeb on Mac OS X and run the same script, will I get a "Mac
OS X button"?
Why does it matter? JavaScript use is not limited to browsers, nor
must it be used with a UI. All it needs is a scriptable host
environment.
Gernot Frisch said:It depends on the browser and version you use. Some place a real Win32 window
with button class on the page, others just place an image that "looks" like
the win32 button. Others just place a grey rectable with text as a button.
You should not care, since in JS you can't access more than just "a button" -
no matter what the browser made of it.
A patent (limited though they are anyway) applies to an *invention* andPeter said:It matters to my specific task at hand. I am estimating the possible ways that a
competitor could achieve the same functionality as my patented invention without
violating my patent. For this reason I need to know the extent to which
graphical user interface controls are actually implemented in ways other than
using native Win32 objects on the Win32 platform. Java Swing was one specific
example of this.
The Magpie said:A patent (limited though they are anyway) applies to an *invention* and
not to an *implementation*. If you have invented something then the GUI
you use to do it is irrelevant. Frankly, you should remember that the
entire patent is mostly irrelevant anyway, since software cannot be
patented in most of the world and most countries will simply ignore your
patent anyway.
... . My original question can not be rephrased.
What I really need to know is exactly how difficult it is for another
program
to determine the exact location
and current state of any graphical user interface controls.
Someone told me that this is pretty easy using Ajax.
Richard Cornford said:Peter Olcott wrote:
That would be a pity as your original question did not make sense in
javascript terms (javascript has no 'controls', instead relying on a
host to provide that type of facility). But It has been answered
anyway: browser hosts use Windows native input elements, their own
internal input elements and even Java Swing input elements (in the case
of IceBrowser at least).
What is 'another program'?
Javascript executing in browser environments can determine the exact
pixel position (screen/ within the window and on the HTML page) of
elements being displayed in an HTML document that it is scripting
whenever the browser eposes sufficient information for that
determination to be possible (which is often, but not universally, the
case).
What do you consider the 'state' of a graphical user Interface control?
Brower hosts expose properties of controls/elements to scripting and
the values of those properties are normal candidates to be considered
the 'state' of the control/element.
AJAX is completely irrelevant to the issue.
Peter said:My original question
can not be rephrased. What I really need to know is exactly how
difficult it is for another program to determine the exact location
and current state of any graphical user interface controls. Someone
told me that this is pretty easy using Ajax.
Matt Kruse said:The text above makes it obvious that you completely lack a basic level of
understanding required to even ask an intelligent question on the matter.
Equate it to: "I'm trying to figure out how easy it is to change the stapler
in my car using a tennis ball. I heard that it is easy using a cricket ball."
Your terms and words are so disconnected as to be meaningless.
Without a more detailed explaination of exactly what your patent is, what kind
of answer you are looking for, and how exactly it relates to javascript, no
one will be able to help you.
Peter said:If we assume that there is a JavaScript program running in the web-browser,
OK.
the other program is any program besides this program.
In other words I need a way to determine the exact location and
current state of any graphical user interface controls that are
displayed in the web-browser, and this way must be able to provide
this information to a different program beside the one running
in the web-browser.
Is the checkbox currently checked or unchecked
("Current state" is a generic
term of the art of computer science).
Great exactly how do they expose this, an API call?
The way that it was explained is that Ajax is a hodge podge conglomeration
of JavaScript, XML and some other things, and that these exposed
properties are exposed in an XML format.
Richard Cornford said:Narrow it down, why don't you?
Where a browser (combined with the context ) makes the determination of
the location of elements possible the results of such calculations may
be sent to a web server (which qualifies as your 'other program') in
various ways.
The W3C HTML DOM defined - HTMLInputElement - interface has a boolean -
checked - proprety, that represents a formalization of a traditional
feature of representations of input elements exposed to scripting.
And yet when asked for clarification you are only actually interested
in one aspect of the element's state.
As properties of the exposed representations of the elements.
Peter said:My goal is to find out the difficulties in deriving a truly universal
scripting language. In other words a scripting language capable of
controlling literally any program of any kind what-so-ever that will
run on modern operating systems such as MS Windows.
Matt Kruse said:I suspect that your goal is completely unrealistic, and has nothing to do with
Javascript. You might get clarity by first really understanding what you want
to accomplish and expressing that in a well-worded summary. The exercise of
doing so might make you realize why your questions appear to be completely
irrelevant.
Peter Olcott said:My goal is to find out the difficulties in deriving a truly
universal scripting language. In other words a scripting language
capable of controlling literally any program of any kind
what-so-ever that will run on modern operating systems such as MS
Windows.
If I narrow down the question, then I get an answer that does not
help. My purpose of coming to this forum is to determine the
difficulties and challenges in deriving a scripting language capable
of controlling any JavaScript program, yet even this purpose is only
a tiny subset of my primary goal.
I don't know what W3C stands for, I assum that DOM stands for
document object model.
<URL:http://www.w3.org/TR/DOM-Level-2-HTML/>What is the API call to get to these? (or where could I find out the name of
this API call?)
Lasse Reichstein Nielsen said:It seems you are concentrating on the ability to recognize and
manipulate graphical user interfaces. If you have that ability in a
library, the language, scripting or not, around it isn't as important.
If I narrow down the question, then I get an answer that does not
help. My purpose of coming to this forum is to determine the
difficulties and challenges in deriving a scripting language capable
of controlling any JavaScript program, yet even this purpose is only
a tiny subset of my primary goal.
The problem with the question is that there really aren't any
"JavaScript programs". JavaScript is itself a scripting language with
no graphical interface or even I/O features. It only really comes to
life when it's combined with a running environment that provides these
features, be it a page in a web browser, a server-side page on a web
server or running inside the windows scripting host.
So you can't say anything consistent about "JavaScript programs".I don't know what W3C stands for, I assum that DOM stands for
document object model.
W3C: World Wide Web Consortium, the people who specifies, among other
things, the HTML and DOM standards.
DOM: Correct.
[DOM element properties]<URL:http://www.w3.org/TR/DOM-Level-2-HTML/>What is the API call to get to these? (or where could I find out the name of
this API call?)
/L
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.