Solved

Javascript and using SSI exec command

Posted on 1998-08-20
7
439 Views
Last Modified: 2013-11-18
Hello,

I have the following problem using SSI together with
Javascript on MSIE or NEtscape or other browsers.

The folowing code wil look if you use frames or not.
The frame parts are called down and down_wevers.
There are 3 frame parts.
The script will work without SSI. I use it on othere applications.

I have now the following problem.
I wan't to use the exec SSI command.
But it must only be executed when goodlocation is not true and goodlocation_wevers is also not true.
I put the command to the else part.
But only putting it there will result in always executing the script as soon the html file is read by a browser.
I wan't it only be executed when the goodlocations are false!!!

I have tryed also the following.

<script language="JavaScript">
<!--

function FrameRedirectAXS()
{  
goodlocation=false
goodlocation_wevers=false
if (parent.frames.length != 3) goodlocation=false;
if (parent.frames.length == 3) {
      if (parent.frames[1].name == "down") goodlocation=true;
      if (parent.frames[1].name == "down_wevers") goodlocation_wevers=true;
}
if (goodlocation == true) document.write("");
else if (goodlocation_wevers == true) document.write("");
else document.write("<--#exec " + "cgi=\"/cgi-bin/axs/ax1.pl\"" + "-->");

}
//-->
</SCRIPT>

This wil result in a line <--#exec cgi="/cgi-bin/axs/ax1.pl"-->
this is the SSI line command.
But this tiime it will not be executed.
The browser will write down the
 <--#exec cgi="/cgi-bin/axs/ax1.pl"--> line and do noting with it.

It is possible for me to use SSI and I use it in SHTML files.

I call the javasript by using:

<SCRIPT LANGUAGE="JavaScript">
FrameRedirectAXS()
</SCRIPT>

How can I solve this problem????

Greeting Michel Weegerink
E-mail: mmcw@worldonline.nl
0
Comment
Question by:mmcw
7 Comments
 

Accepted Solution

by:
Visible_Man earned 200 total points
ID: 1269481
This only a small thing but JS is senitive to small things.  After an If...Then or Else...then logic put Brackets like so.
That maybe the problem bescause JS is very picky with stuff like that Hope it works :)

<script language="JavaScript">
    <!--

    function FrameRedirectAXS()
    {  
    goodlocation=false
    goodlocation_wevers=false
    if (parent.frames.length != 3) {goodlocation=false};
    if (parent.frames.length == 3) {
    if (parent.frames[1].name == "down") {goodlocation=true};
    if (parent.frames[1].name == "down_wevers") {goodlocation_wevers=true};
    }
    if (goodlocation == true) {document.write("")};
    else if (goodlocation_wevers == true) {document.write("")};
    else {document.write("<--#exec " + "cgi=\"/cgi-bin/axs/ax1.pl\"" + "-->")};

    }
    //-->
    </SCRIPT>
0
 
LVL 8

Expert Comment

by:jbirk
ID: 1269482
The problem is not due to syntax.  You cannot use clientside javascript to decide how server side includes will load.  The reason is because the include occurs when the file is first requested and the operation is performed by the server.  The browser has absolutely no idea that a server side include was even on the page.  And the JavaScript you wrote it client side, which means it is executed by the browser.  So once it has made it to the browser the server is finished with it, meaning that no more SSI's can be included.  When the browser writes out the SSI command exec, it just thinks it's a comment, and has no idea what to do with it.  If you want to do something like this, you'll have to either make seperate pages (one with the SSI and one without) and then decide which page will be loaded with javascript, or use something like server side javascript (which I don't really know how to use as the servers I use don't support it).

Hope this clears things up,
Josh
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 1269483
Also please remember that the script is inside comments
<SCRIPT><!--

--></SCRIPT>

and any SSI inside the script will never be executed even if you could make it work.
What is inside the ssi - could it perhaps be coded differently or can you have an
html file you load into a hidden frame that contains the ssi?
as in

 if (goodlocation == true) {document.write("")};
else if (goodlocation_wevers == true) {document.write("")};
else self.location = 'ssihtml.html';

Michel

0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 1269484
Why not put the <SCRIPT><!--  and --></SCRIPT> and the rest of the html in the
/cgi-bin/axs/ax1.pl, then you could even do a

 if (goodlocation == true) {document.write("")};
       else if (goodlocation_wevers == true) {document.write("")};
       else self.location = '/cgi-bin/axs/ax1.pl';

Michel
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 1269485
Did the above accepted answer solve your question?

If yes, how and if not why accept it?

Michel
0
 

Author Comment

by:mmcw
ID: 1269486
It is not exacly what I mean al those answers but I now know that it is not possible in javascript and solved the problem an other way. Thank you for your support
0
 
LVL 75

Expert Comment

by:Michel Plungjan
ID: 1269487
Would you then in the future please reject the answer or have the customer services remove it?
Otherwise it will be autograded and put in the pool of accepted answers and Visible_Man's answer is a wrong rehash of the version answered in the CGI area.

Michel
0

Featured Post

Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

Join & Write a Comment

Suggested Solutions

Styling your websites can become very complex. Here I'll show how SASS can help you better organize, maintain and reuse your CSS code.
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now