PHPBuilder - Remote Scripting with Javascript, IFrames and PHP Page 4



RSS Twitter
Articles Html

Remote Scripting with Javascript, IFrames and PHP - Page 4

by: David Vance
|
May 10, 2004

Next, I added Eric Costello's IFrame code to the searchForm.js file:

<?php

var IFrameObj
// our IFrame object - global
function callToServer(term
{
    if (!
document.createElement) {return true};
    var 
IFrameDoc;
//var URL = 'server.html' + buildQueryString(theFormName);
    
var URL './server.php?s='+term;
    if (!
IFrameObj && document.createElement
    {
    
// create the IFrame and assign a reference to the
    // object to our global variable IFrameObj.
    // this will only happen the first time 
    // callToServer() is called
        
try 
        {
            var 
tempIFrame=document.createElement('iframe');
            
tempIFrame.setAttribute('id','RSIFrame');
            
tempIFrame.style.border='0px';
            
tempIFrame.style.width='0px';
            
tempIFrame.style.height='0px';
            
IFrameObj document.body.appendChild(tempIFrame);
      
            if (
document.frames
            {
            
// this is for IE5 Mac, because it will only
            // allow access to the document object
            // of the IFrame if we access it through
            // the document.frames array
                
IFrameObj document.frames['RSIFrame'];
            }
        } 
        catch(
exception
        {
        
// This is for IE5 PC, which does not allow dynamic creation
        // and manipulation of an iframe object. Instead, we'll fake
        // it up by creating our own objects.
            
iframeHTML='<iframe id="RSIFrame" style="';
            
iframeHTML+='border:0px;';
            
iframeHTML+='width:0px;';
            
iframeHTML+='height:0px;';
            
iframeHTML+='"></iframe>';
            
document.body.innerHTML+=iframeHTML;
            
IFrameObj = new Object();
            
IFrameObj.document = new Object();
            
IFrameObj.document.location = new Object();
            
IFrameObj.document.location.iframe document.getElementById('RSIFrame');
            
IFrameObj.document.location.replace = function(location
            {
                
this.iframe.src location;
            }
        }
    }
  
    if (
navigator.userAgent.indexOf('Gecko') !=-&& !IFrameObj.contentDocument
    {
    
// we have to give NS6 a fraction of a second
    // to recognize the new IFrame
        
setTimeout('callToServer()',10);
        return 
false;
    }
  
    if (
IFrameObj.contentDocument
    {
    
// For NS6
        
IFrameDoc IFrameObj.contentDocument
    } 
    else if (
IFrameObj.contentWindow
    {
    
// For IE5.5 and IE6
        
IFrameDoc IFrameObj.contentWindow.document;
    } 
    else if (
IFrameObj.document
    {
    
// For IE5
        
IFrameDoc IFrameObj.document;
    } 
    else 
    {
        return 
true;
    }
  
    
IFrameDoc.location.replace(URL);
    return 
false;
}

?>

« Previous Page
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
Next Page »

Comment and Contribute

Your comment has been submitted and is pending approval.

Author:
David Vance

Comment:



Comment:

(Maximum characters: 1200). You have characters left.