473,799 Members | 3,382 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

missing ) after argument list

Why is Firefox complaining with this error:

------------------------------------------------------------
missing ) after argument list

setTimeout('bre akOut',5000);
------------------------------------------------------------

Here is the HTML that I'm producing:

<html>
<head>
<script type="text/javascript">
<!--
function breakOut() {
top.location.hr ef = 'https://foo.com';
}
// -->
</script>
<body onLoad="setTime out('breakOut() ',5ØØØ);">
You have been logged out of the control panel due to inactivity for
your security.
</body>
</html>

Dec 14 '05
69 16900
Patient Guy wrote:
Thomas 'PointedEars' Lahn <Po*********@we b.de> wrote [...]
Patient Guy wrote:
Thomas 'PointedEars' Lahn <Po*********@we b.de> wrote [...]:
VK wrote:
> Also let do not mix the terms "harmful" and "not necessary".
> <!-- --> tag is valid HTML comment tag since the first draft and
> till now and for forever.

Nonsense! `<!' introduces an SGML declaration, `--' starts and ends
a comment within an SGML declaration, and `>' ends the declaration.
It is basically `<!>' to an SGML parser, an empty declaration.
Everything else is tag soup behavior that cannot be assumed. Which
is why Mozilla/5.0 will not consider <!------> a closed comment in
Strict Mode and does not render the adjacent markup.

What a load of unadulterated bandwidth waste yet again from you!!!
You call that line part of an attempt at constructive discussion?
Then do not be astonished by the replies you get for this.
[...]
[from http://www.w3.org/TR/REC-html40/intro/sgmltut.html]
| 3.2 SGML constructs used in HTML
|
| The following sections introduce SGML constructs that are used in
| HTML. [...]
3.2.4 Comments

HTML comments have the following syntax:

<!-- this is a comment -->
<!-- and so is this one,
which occupies more than one line -->

White space is not permitted between the markup declaration open
delimiter("<!") and the comment open delimiter ("--"), but is
permitted between the comment close delimiter ("--") and the
markup declaration close delimiter (">"). A common error is to
include a string of hyphens ("---") within a comment. Authors
should avoid putting two or more adjacent hyphens inside comments.
[...]


Now where is the contradiction


Poster VK: <!-- --> tag is valid HTML comment tag since the first draft
and till now and for forever.

You: Nonsense! `<!' introduces an SGML declaration, `--' starts
and ends a comment within an SGML declaration, and `>' ends
the declaration.

W3 document: HTML comments have the following syntax:
<!-- this is a comment -->


Where you omit conveniently that the HTML Specification says nothing
different than I did, in fact, is says exactly the same as I did, while
it proves VK wrong.
Now what was hard about following that?


`<!-- -->' is _not_ a "comment tag". It is an empty SGML declaration which
is parsed only as such in _PCDATA_ (Parsed Character DATA) content. The
`script' element's content, however, is CDATA in HTML. Therefore, every
standard HTML parser (that is, not a "tag soup" parser) will pass it
as-is to the script engine. The standard for script engine behavior, on
the other hand, is ECMAScript, where `<', `!' and `--' are defined as
_operators_. Occurrences of these operators without the respective
number of operands are a SyntaxError and will break the script.

Neither can it be safely assumed that a "tag soup" parser is used to parse
HTML nor can it be safely assumed that an ECMAScript compliant script
engine (and _all_ currently implemented script engines are ECMAScript
compliant) ignores operators just because they are arranged in a manner
that resembles delimiters of a _markup_ language.

Therefore, and because there is no usable UA left that does not support
(in terms of "recognize, and ignore if not applicable") the respective
feature of HTML 3.2 (which turns 10 next month), it is unnecessary and
potentially harmful to use those delimiters within the HTML `script'
element.

And because in XHTML the content model of the `script' element is PCDATA by
default, using comment delimiters there would most certainly result in an
empty `script' element. Properties that are supposed to be declared
there will not be declared and for example method calls referring to that
commented code will result in a ReferenceError and break the script. (And
if the content was declared CDATA using the respective XML declaration as
e.g. VK mentioned, it would be handled as in HTML, with an even greater
probability of failure as XHTML is an XML application which must adhere
to well-formedness.) Therefore, it is potentially harmful to use comment
delimiters within the `script' element in XHTML, too.

Which leaves us with the conclusion that SGML comment delimiters within
the `script' element are unnecessary and potentially harmful. Which is
in sharp contrast to VK's statement.
namespace-spoiling,


Okay...I give up...what are you trying to say here?


You do not own the domain found.com, that is found.com, Inc. (as your
favorite WHOIS service tells you), which will also receive either all
the spam mails directed to your From header "address" or rather the
error messages about the non-existing mail account. Continued use by
you is domain abuse, a form of Network abuse disallowed by section 5
of your NetNews service provider's Posting policy and most certainly
by your Internet Service Provider's Terms of Use.

And if found.com would not be registered, anyone registering it later
will receive either that spam or the error messages, so that would not
make much of a difference.
Nuff said.

PointedEars
Dec 15 '05 #21
VK wrote:
Duncan Booth wrote:
You missed another bit of the HTML standard:
W3 document: HTML 4 is an SGML application conforming to International
Standard ISO 8879 -- Standard Generalized Markup Language SGML (defined
in
[ISO8879]).

and SGML defines a comment declaration differently than HTML.
How did you get that idea?

SGML does not define a "comment declaration" (well, maybe it does as a
shortcut for the lengthy [but more correct] expression "an empty
declaration with a comment"). It defines the syntax for a declaration and,
apart from other features, comments within that declaration. (As you can
see clearly when reading any HTML Document Type Definition [DTD] which is
of course written in SGML -- they contain a lot of comments in otherwise
empty and non-empty declarations).

HTML markup merely can make use of the combination of both SGML features
which I did not think was so hard to understand for you.
So the question is which definition of a comment do you believe?
So is is not a question of which definition to believe.

Either one tells the _same_ thing (with different and more or less words).
[...]
You guys are something else...


Competent?
You serve a page with MIME type "text/html"
You even link DTD document in the header in case if "some browser"
doesn't know how to tread <table> or <body> or
_treat_
comment tags.
Will you understand that there are no "comment tags"? A tag is a part of
an element. Declarations, even those only _containing_ comments, are _not_
elements. (If not empty, they instead declare elements and other markup
features like Entities and attributes)
But you are still all in worry that something can go wrong and browser
may read the source as pure SGML. [...]
What you apparently are unable or unwilling to understand is that HTML is
an SGML application (as much as XHTML is an XML application, where XML is
a subset of SGML), that is, it is defined using SGML and (therefore)
follows SGML rules. Which is why the HTML Specification does not call
`<!-- ... -->' a "comment tag" like you do, but a "(HTML) comment".

BTW, the DOCTYPE declaration in HTML documents is an SGML feature itself:
`<!' opens the declaration, DOCTYPE is the keyword to identify the
declaration type, `html' is the type of the root element, `PUBLIC'
is the keyword for the following public identifier which can be
followed by the optional `SYSTEM' keyword and the system identifier.
`>' closes the declaration. See?
[...]
P.S.
<quote>
<http://www.w3.org/MarkUp/html-spec/html-spec_3.html#SEC 3.2.5>


,-<URL:http://www.w3.org/MarkUp/#previous>
|
| HTML 2.0
| (RFC 1866) was developed by the IETF's HTML Working Group, which closed
| in 1996. It set the standard for core HTML features based upon current
| practice in 1994. Note that with the release of RFC 2854, RFC 1866 has
| been obsoleted and its current status is HISTORIC.

which I stated before, too, BTW.
PointedEars
Dec 15 '05 #22
Thomas 'PointedEars' Lahn wrote:
`<!-- -->' is _not_ a "comment tag". It is an empty SGML declaration
which is parsed only as such in _PCDATA_ (Parsed Character DATA)
content. The `script' element's content, however, is CDATA in HTML.
Therefore, every standard HTML parser (that is, not a "tag soup"
parser) will pass it
as-is to the script engine. The standard for script engine behavior,
on the other hand, is ECMAScript, where `<', `!' and `--' are defined
as _operators_. Occurrences of these operators without the respective
number of operands are a SyntaxError and will break the script.


I agree with you on the specifics of what you're saying.

However, browsers do not have pure ECMAScript engines. They have
Javascript/JScript/etc. In these implementations of ECMAScript, I've not
seen one yet that didn't treat
<!--
as a single-line comment. In fact, they document it as so.
Then the closing comment tag is written as
// -->
which is a valid ECMAScript comment.

So if your script content with "html comments" is passed to a pure
ECMAScript implementation, it could very well break. But in the world of
browser scripting, the ECMAScript implementations being used also recognize
<!-- as a comment, so there should be no problem.

In theory, it could potentially break something. In reality, it won't.
Just like in theory, someone could use a browser that doesn't support HTML
3.2, but in reality, they won't.

--
Matt Kruse
http://www.JavascriptToolbox.com
http://www.AjaxToolbox.com
Dec 15 '05 #23
JRS: In article <14************ ****@PointedEar s.de>, dated Wed, 14 Dec
2005 20:27:42 local, seen in news:comp.lang. javascript, Thomas
'PointedEars' Lahn <Po*********@we b.de> posted :
ma**********@g mail.com wrote:
Why are the <!-- //--> considered harmful?


/Please/, ask Google (Groups) before you ask here. I am tired of explaining
that over and over again.


This is a newsgroup, not the Web. Don't assume that Googling is equally
congenial to everybody.

There's no need for you to explain things over and over again[*]; you're
not the only person here, and you could try just keeping quiet. When
the majority find the point of minor significance, you should allow for
the probability that they are right.

Remember, if you're hoping to get a job in future, that potential
employer may well search the Net to see what Thomas Lahn is like - and
when they see that he's a pigheaded arrogant bastard, they'll probably
lose interest in him.
[*] Indeed, others would manifestly prefer that you did not do so.

--
© John Stockton, Surrey, UK. ?@merlyn.demon. co.uk Turnpike v4.00 MIME ©
Web <URL:http://www.uwasa.fi/~ts/http/tsfaq.html> -> Timo Salmi: Usenet Q&A.
Web <URL:http://www.merlyn.demo n.co.uk/news-use.htm> : about usage of News.
Constantinopoli tanischerdudels ackpfeifenmache rsgesellschaft.
Dec 15 '05 #24
In article <15************ ****@PointedEar s.de>, Thomas 'PointedEars'
Lahn <Po*********@we b.de> writes

<snip>
`<!-- -->' is _not_ a "comment tag". It is an empty SGML declaration which
is parsed only as such in _PCDATA_ (Parsed Character DATA) content. The
`script' element's content, however, is CDATA in HTML. Therefore, every
standard HTML parser (that is, not a "tag soup" parser) will pass it
as-is to the script engine.

<snip>

Not quite. HTML 4.01, sec 6.2 says

"Although the STYLE and SCRIPT elements use CDATA for their data model,
for these elements, CDATA must be handled differently by user agents.
Markup and entities must be treated as raw text and passed to the
application as is. The first occurrence of the character sequence "</"
(end-tag open delimiter) is treated as terminating the end of the
element's content. In valid documents, this would be the end tag for the
element."

Therefore, in browsers that know what a script element is there is no
such thing as an HTML/SGML comment in the script. It's all passed on to
the language engine in blind ignorance and hope.

On the other hand, in browsers that don't know what a script element is
the element's contents are treated as HTML so <!-- x --> is then a real
HTML comment.

Whether the popular javascript engines will continue to ignore <!-- is
something we don't know. We do know that magazines aimed at web
designers still show it in many of their javascript examples :-(

John
--
John Harris
Dec 15 '05 #25
Matt Kruse wrote:
Thomas 'PointedEars' Lahn wrote:
`<!-- -->' is _not_ a "comment tag". It is an empty SGML declaration
which is parsed only as such in _PCDATA_ (Parsed Character DATA)
content. The `script' element's content, however, is CDATA in HTML.
Therefore, every standard HTML parser (that is, not a "tag soup"
parser) will pass it as-is to the script engine. The standard for script
engine behavior, on the other hand, is ECMAScript, where `<', `!' and
`--' are defined as _operators_. Occurrences of these operators without
the respective number of operands are a SyntaxError and will break the
script.
I agree with you on the specifics of what you're saying.

However, browsers do not have pure ECMAScript engines.


I did not say they have (in fact, I said quite the opposite
not so long ago). I talked about ECMAScript implementations .
They have Javascript/JScript/etc. In these implementations
of ECMAScript, I've not seen one yet that didn't treat
<!--
as a single-line comment. In fact, they document it as so.
Where?

Not here:
<URL:http://developer.mozil la.org/en/docs/Core_JavaScript _1.5_Reference: Comments:commen t>

Not here:
<http://msdn.microsoft. com/library/en-us/jscript7/html/jsconComments.a sp>

(Side note: Microsoft appears to have nuked its JScript 5.6 website
<URL:http://msdn.microsoft. com/library/en-us/script56/html/js56jsoriJScrip t.asp>)

Not here:
<URL:http://www.opera.com/docs/specs/js/ecma/>

Not here:
<URL:http://developer.kde.o rg/documentation/library/3.3-api/kjs/html/>
Then the closing comment tag ^^^^^^^^^^^^^^^ ^^^^
(Aaargh!)
is written as
// -->
which is a valid ECMAScript comment.


Yes, _that_ should not matter in _CDATA_.
PointedEars
Dec 15 '05 #26
Thomas 'PointedEars' Lahn wrote:
SGML does not define a "comment declaration" (well, maybe it does as a
shortcut for the lengthy [but more correct] expression "an empty
declaration with a comment"). It defines the syntax for a declaration
and, apart from other features, comments within that declaration. (As
you can see clearly when reading any HTML Document Type Definition
[DTD] which is of course written in SGML -- they contain a lot of
comments in otherwise empty and non-empty declarations).
You may be correct, if you have a copy of the SGML standard available feel
free to quote from it. ISO seem to think differently. I can't find a copy
of ISO8879 online (unfortunately ISO charge for their standards), but see
ISO/IEC 15445:2000(E) (at https://www.cs.tcd.ie/15445/15445.html#COMMENT):

All comments in HTML document instances shall appear in comment
declarations. There shall be exactly one comment per comment
declaration.

Also http://groups.yahoo.com/group/libwww-perl/message/6830:
From ISO 8879 Section 10.3 declares a "comment declaration" (yes,
horrible term for it) as:

comment declaration =
"<!",
(comment
(s | comment)*
)?
">"

comment =
"--",
SGML_character*
"--"

There are plenty of other references to comment declaration which imply
that this is the term which ISO8879 uses to refer to a declaration
containing 1 or more comments and nothing else.

HTML markup merely can make use of the combination of both SGML
features which I did not think was so hard to understand for you.
So the question is which definition of a comment do you believe?


So is is not a question of which definition to believe.

Either one tells the _same_ thing (with different and more or less
words).


The SGML standard contains a definition. The HTML one is a woolly
description which is open to misinterpretati on but which appears to be
further constraining the SGML definition.

Anyway, the point is that SGML allows multiple comments in a comment
declaration, HTML (and XML) do not, so if someone tries to put -- somewhere
inside a comment the result is undefined and the various browsers disagree
on how to interpret the resulting mess.
Dec 16 '05 #27
Thomas 'PointedEars' Lahn wrote:
They have Javascript/JScript/etc. In these implementations
of ECMAScript, I've not seen one yet that didn't treat
<!--
as a single-line comment. In fact, they document it as so.

Where?


I've seen it in the past, but I don't know of a current location. I'm not
going to waste time looking for it.
One reference to it is in javascript: The Definitive Guide, 3rd edition,
page 30:

"In addition to C++ and C-style comments, client-side Javascript recognizes
the HTML comment opening sequence <!--. Javascript treats this as a
single-line comment, just as it does the // comment."

Just test it yourself in any browser:

<script type="text/javascript">
<!-- junk
alert('x');
<!-- more junk
<!-- even more
alert('y');
</script>

Point me to a single browser that fails that test.
Then the closing comment tag

^^^^^^^^^^^^^^^ ^^^^
(Aaargh!)


Semantics games are boring. You look like a know-it-all jerk trying to
correct things that are perfectly clear and everyone understands, yet may
not be perfectly technically accurate terms. When someone says an animal
name, do you correct them and tell them to use the scientific classification
name? It's like people who correct every grammatical error made by others,
or correct minor factual errors when someone is telling a story. Nobody
likes those people, and they generally need to get a life. :)

--
Matt Kruse
http://www.JavascriptToolbox.com
http://www.AjaxToolbox.com
Dec 16 '05 #28
On 16/12/2005 17:07, Matt Kruse wrote:
Thomas 'PointedEars' Lahn wrote:
Matt Kruse wrote:
[...] I've not seen one yet that didn't treat
<!--
as a single-line comment. In fact, they document it as so.
Where?


I've seen it in the past, but I don't know of a current location.
[...]


The old Netscape 1.3 JavaScript Guide does mention it[1] however, the
Reference documentation[2] does not. I would infer from that that the
mechanism was not specified as part of the language, but as one
supported by the browser.
One reference to it is in javascript: The Definitive Guide, 3rd
edition, page 30:
But that's just a book, not a language reference or specification.

[snip]
<script type="text/javascript">
<!-- junk
alert('x');
<!-- more junk
<!-- even more
alert('y');
</script>

Point me to a single browser that fails that test.


And if no reader of this group can, that proves that it will always
work? I know you might want to argue that purely hypothetical arguments
aren't very practical - that's rather obvious - but that objection
doesn't really work here. No browser currently in use should need them.
Even the most recent browsers that are considered to be obsolete don't
need them, so why use something that /could/ break, when the necessity
isn't there?

Finally, though I'd be among the first to point out the general
pointlessness of using XHTML at the moment, the fact remains that
continuing this practice will break scripted XHTML documents. With an
eye for the future, shouldn't it be dismissed like other bad habits from
the past?

[snip]

Mike
[1]
<http://devedge-temp.mozilla.or g/library/manuals/2000/javascript/1.3/guide/embed.html#1013 248>
[2]
<http://devedge-temp.mozilla.or g/library/manuals/2000/javascript/1.3/reference/stmt.html#10147 39>

--
Michael Winter
Prefix subject with [News] before replying by e-mail.
Dec 16 '05 #29
Michael Winter wrote:
Point me to a single browser that fails that test. And if no reader of this group can, that proves that it will always
work?


Nope, certainly not. I was just pointing out that the "potentiall y harmful"
argument is invalid, because it's not. No known browser will be harmed by
it, and I can't imagine why any future browser would. Browser-makers surely
aren't going to start causing many scripts to break (since it's so widely
used and recommended in the past) by removing the <!-- comment support. So I
do not believe that it is "potentiall y harmful" at all.
No browser currently in use
should need them. Even the most recent browsers that are considered
to be obsolete don't need them, so why use something that /could/
break, when the necessity isn't there?


I agree that they should not be used or recommended.
But I think the argument should be that they are unnecessary and potentially
confusing, not that they are potentially harmful.

--
Matt Kruse
http://www.JavascriptToolbox.com
http://www.AjaxToolbox.com
Dec 16 '05 #30

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

Similar topics

8
3969
by: Alex Vinokur | last post by:
Various forms of argument passing ================================= C/C++ Performance Tests ======================= Using C/C++ Program Perfometer http://sourceforge.net/projects/cpp-perfometer http://alexvn.freeservers.com/s1/perfometer.html
4
2463
by: Conrad Weyns | last post by:
vc7.1 has no problem with the following snippet: template <typename T> class TTest { std::list<T*>::iterator m_It; }; but metrowerks codewarrior 9.2 kicks my butt and online Comeau confirms: 1. MW:
1
18514
by: soup_or_power | last post by:
I'm passing the return from window.open as a function argument and getting the error "missing ] after element list" when tested with FireFox. Here is the relevant code. Many thanks for your help. function blurCkbox(num, disp, but_id, sugg) { if (num == 1) { eval("self.opener.document.forms." + but_id + ".value=\'" + sugg + "\'");
77
17069
by: Ville Vainio | last post by:
I tried to clear a list today (which I do rather rarely, considering that just doing l = works most of the time) and was shocked, SHOCKED to notice that there is no clear() method. Dicts have it, sets have it, why do lists have to be second class citizens?
2
17923
by: ehsansad | last post by:
I have the following code. function updateTermsList() { var termDivBox = document.getElementById("termarea"); var terms = searchXMLHttp.responseXML.getElementsByTagName("term"); for(var i=0;i<terms.length;i++){ var name = terms.childNodes.firstChild.nodeValue; var value = new String(terms.childNodes.firstChild.nodeValue); var a = document.createElement('div');
5
2272
by: Vv_vV | last post by:
Hi all, I try to call onchange a function and get "missing ) after argument list" error Probably systaxis issue Thanks in advance for any help! Code: var html = ""; var myurl = "http://www.example.com/url.php?dummy=";
9
4051
by: deedub65 | last post by:
I am getting a "Missing ) after argument list" on two different sets of commands in the same script - they are part of Dreamweaver MX's files, so i am not sure how they got altered - thanks for the help! function canAcceptCommand() { // Make sure the focus is in the BODY of the document. var retVal = false; if (dw.getFocus() == 'document' && dw.getDocumentDOM().getFocus() == 'body') { retVal = true; } if...
4
10692
by: Pasquale | last post by:
I am attempting to populate a few select drop down menus from the selection of the first drop down. I am using ajax to submit data via a PHP GET and from the response populate the other drop down menus. I figured out how to get it to do so for more than one drop down, but I am getting the following error below. This was working fine until I tried to populate more than one other drop down menu. Any idea why the SELECT object isn't being...
8
2302
by: A. Anderson | last post by:
Howdy everyone, I'm experiencing a problem with a program that I'm developing. Take a look at this stack report from GDB - #0 0xb7d782a3 in strlen () from /lib/tls/i686/cmov/libc.so.6 #1 0xb7d4c2f7 in vfprintf () from /lib/tls/i686/cmov/libc.so.6 #2 0xb7d6441b in vsprintf () from /lib/tls/i686/cmov/libc.so.6 #3 0x08049ba0 in character_data::printf (this=0x800, argument=0x0) at character.c:198
1
1598
by: hariomt | last post by:
Hi, i have to create table's rows dynamically. I am using bellow code snipet... function copySelectedAttr() { var attrValue= document.getElementById('fromEntityAttrBox').options.text; var attrtype=document.getElementById('fromEntityAttrBox').value;
0
9688
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9544
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10490
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10259
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
10030
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
5589
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
4145
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3761
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2941
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.