Script Fehler bei der Einbindung meiner IP Cam

Hallo zusammen,

nachdem ich es geschafft habe das Livebild meiner IP Cam abzugreifen, versuche ich jetzt die „gebastelte“ Webseite in den Designer einzubinden.
Allerdings kommt beim Aufruf des Tabs eine Fehlermeldung:

In dem Script auf dieser Seite ist ein Fehler aufgetreten:

Zeile: 33
Zeichen: 59
Fehler: ) erwartet
Code: 0
URL: file://\IPS-Server\Programme\IPSYMCON\web\camtest.htm

Soll diese Seite weiterhin ausgeführt werden?

Wenn ich dann auf JA klicke, dann funktioniert es … das Bild ist da … wenn ich dann in den Bearbeitungsmodus schalte und später wieder zurück, dann kommt erneut die Fehlermeldung!?

Ich hoffe es jemand eine Idee dazu :confused:

Hier mal der Code:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>

<head>
<title>IP-Camera</title>

<script type="text/javascript">
<!--
var BrowserDetect = {
init: function () {
this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
this.version = this.searchVersion(navigator.userAgent)
|| this.searchVersion(navigator.appVersion)
|| "an unknown version";
this.OS = this.searchString(this.dataOS) || "an unknown OS";
},
searchString: function (data) {
for (var i=0;i<data.length;i++) {
var dataString = data[i].string;
var dataProp = data[i].prop;
this.versionSearchString = data[i].versionSearch || data[i].identity;
if (dataString) {
if (dataString.indexOf(data[i].subString) != -1)
return data[i].identity;
}
else if (dataProp)
return data[i].identity;
}
},
searchVersion: function (dataString) {
var index = dataString.indexOf(this.versionSearchString);
if (index == -1) return;
return parseFloat(dataString.substring(index+this.version SearchString.length+1));
},
dataBrowser: [
{
string: navigator.vendor,
subString: "Apple",
identity: "Safari"
},
{
prop: window.opera,
identity: "Opera"
},
{
string: navigator.vendor,
subString: "iCab",
identity: "iCab"
},
{
string: navigator.vendor,
subString: "KDE",
identity: "Konqueror"
},
{
string: navigator.userAgent,
subString: "Firefox",
identity: "Firefox"
},
{ // for newer Netscapes (6+)
string: navigator.userAgent,
subString: "Netscape",
identity: "Netscape"
},
{
string: navigator.userAgent,
subString: "MSIE",
identity: "Explorer",
versionSearch: "MSIE"
},
{
string: navigator.userAgent,
subString: "Gecko",
identity: "Mozilla",
versionSearch: "rv"
},
{ // for older Netscapes (4-)
string: navigator.userAgent,
subString: "Mozilla",
identity: "Netscape",
versionSearch: "Mozilla"
}
],
dataOS : [
{
string: navigator.platform,
subString: "Win",
identity: "Windows"
},
{
string: navigator.platform,
subString: "Mac",
identity: "Mac"
},
{
string: navigator.platform,
subString: "Linux",
identity: "Linux"
}
]

};
BrowserDetect.init();
// -->
</script>

<script language="javascript1.2">
var video_on,audio_on,mdpc,aIPPort,self_port;
var self_address,url;

function setparameter()
{
video_on = "y";
audio_on = "n";
mdpc = "n";
//External IP Address of MAX-IP-CAM
self_address="192.168.3.11";

if( mdpc == "y") SQ.mdpc = 1;
else SQ.mdpc = 0;

SQ.ShowText = 63;
SQ.width = 320;
SQ.height = 240;
SQ.Authorization = "hier steht ein CODE";
SQ.cookies = "RootCookie00000";
SQ.webcamID = "hier steht ne ID";


if( aIPPort.length > 1 )
{
self_port = aIPPort[1];
SQ.port=self_port;
}
else
{
SQ.port = 80;
}
SQ.IP =self_address;

if( audio_on == "y" ) SQ.audio_on = 1;
else SQ.audio_on = 0;

if( video_on == "y" ) SQ.video_on = 1;
else SQ.video_on = 0;
}
function reload()
{
setTimeout("reload()",1000);
}
</script>

<style>
body
{

font-family: arial;

}

a
{
color: #0466a4;
}

a:hover
{
color: #EC3224;
}

h1
{
color: #0466A4;

font-size: 1.6em;
display: inline;
padding-left: 10px;
}

h2
{
color: #0466A4;
font-size: 1.2em;
}

h3
{
color: #6c6e74;
font-size: 1em;
}
.add
{

font-size: 1em;
padding: 10px;
float: left;
dispaly: inline;
}

.nameplate
{
background-color: #EC3224;
float: right;
width: 300px;
height: 200px;
margin: 10px;
padding: 10px;
}

.nameplate a:hover
{
color: yellow;
}

</style>
</head>

<BODY onLoad="window.resizeTo(580,420)">
<br><br>
<div style="width:500px;">
<div style="float:left;width:360px;height:250px;">

<OBJECT id=SQ codeBase=/view.cab#Version=1,0,2,81 height=240 width=320
classid=CLSID:FF3BA0DA-79B5-4110-8FAC-C402D85AAEDA></OBJECT>


<script language="javascript1.2">
url = location.host;
aIPPort = url.split(":");
self_address = aIPPort[0];
toString(self_address);
setTimeout("reload()",3000);
setparameter();
</script>

</div>
</body>
</html>

Mein Gefühl sagt mir du hast exakt an der angemäkelten Stelle ein Komma vergessen.

Ausserdem solltest du deine Klammerung überarbeiten. Die Schließenden in den Zeilen 25, 27 und 28 referenzieren, laut meinem Entwicklungstool, alle mit der einen Öffnenden in Zeile 22. Das kann ja so irgendwie nicht stimmen.

Gruß,

Toni

Ich habe den Code auch nicht selbst entwickelt, sondern aus einem fremdsprachigen Forum … bin schon froh überhaupt etwas zu der Cam gefunden zu haben, denn das was ich vom Support des Herstellers bekommen habe funktioniert überhaupt nicht.

Ein Komma vergessen? Ich dachte das wäre eine Klammer :confused:

Die Zeile und das Zeichen zähle ich von wo? Wird damit die gesamte Seite gemeint incl. der Doctype Zeile und allen Leerzeilen? Habe nämlich bisher nicht feststellen können wo genau der Fehler liegt, daher auch die Frage hier im Forum dazu :frowning:

Naja… die erste Zeile ist die erste Zeile. Dann wird bei jeder Zeile jeweils um eins weitergezählt und keine ausgelassen oder doppelt gezählt. Sorry, aber das ist so banal, dass ich es dir kaum anders erklären kann :D:cool:

Gruß,

Toni

:stuck_out_tongue: … mir war nicht klar ob bei der Scriptfehlermeldung nur der Javascript Teil gemeint war.
Aber dank deines Hinweises habe ich jetzt ein wenig herumexperimentiert … und was soll ich sagen, es klappt jetzt :slight_smile:

Es fehlte weder ein Komman noch eine Klammer, in der Zeile

return parseFloat(dataString.substring(index+this.version SearchString.length+1));

muss das Leerzeichen zw. version und SearchString weg … :rolleyes:

Was die Klammern an geht, da öffnen 17,18 und 22 … geschlossen werden die dann in 25, 28 und 29. Zumindest lese ich das aus den Zeilen heraus.
Ob da letztendlich wirklich ein Fehler vor liegt kann ich leider nicht sagen, dafür habe ich davon keinen Plan.
Wie würdest du denn an den Zeilen die Klammern setzen?

Gruß
Jens

[b]

Die erste Zeile ist die erste Zeile. Dann wird bei jeder Zeile jeweils um eins weitergezählt und keine ausgelassen oder doppelt gezählt!
[/b]
Dass sollte hier unbedingt berücksichtigt werden :rolleyes:

MST

Klammerung und Einrücken

Toni