Using Ajax to spit out a php-generated embed tag

From: Date: Mon, 31 Oct 2005 00:34:54 +0000
Subject: Using Ajax to spit out a php-generated embed tag
Groups: php.general 
Request: Send a blank email to php-general+get-224850@lists.php.net to get a copy of this message
Can you use AJAX to output an entire php-generated embed tag into a web page? something like: <?php // simple no frills qt embed $qtembed = <<<EOB <item> <?xml version="1.0" encoding="UTF-8"?> <object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" height="352" width="216" codebase="http://www.apple.com/qtactivex/qtplugin.cab"> <embed src="themovie.mov" width="352" height="216"> </embed> </object> </item> EOB; header('Content-Type: text/xml'); // ajax only seems to like text/xml header('Content-Length: '.strlen($qtembed)); echo $qtembed; ?> I am a bit new to Ajax stuff, but thankfully, have been able to make simple examples work. From the examples I have tried thus far , it 'appears' that Ajax only supports sending/receiving elements like zip code....not entire tags Is there a way to 'curl' the html to see what 'xmlhttprequest' is sending and receiving ? Maybe I am going about this the wrong way and there is a better solution? I wanted to avoid pop-up windows, launching new html pages, and iframes if possible. Ultimately, I want to dynamically write an invisible movie embed tag into an html document when called by some 'geturl' actionscript. Basically, click a button in a flash movie, and the quicktime player launches. Instead, should I write a 'empty" quicktime movie tag into the html document with the element, moviename, for Ajax to target ? many thanks in advance :) g this is the script I was attempting to modify: http://developer.apple.com/internet/webcontent/XMLHttpRequestExample/example.html these are the two javascript functions where loadDoc is called by a form from the above html function loadDoc(evt) {
    // equalize W3C/IE event models to get event object
    evt = (evt) ? evt : ((window.event) ? window.event : null);
    if (evt) {
        // equalize W3C/IE models to get event target reference
        var elem = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
        if (elem) {
            try {
                if (elem.selectedIndex > 0) {
                    loadXMLDoc(elem.options[elem.selectedIndex].value);
                }
            }
            catch(e) {
                var msg = (typeof e == "string") ? e : ((e.message) ? e.message : "Unknown Error");
                alert("Unable to get XML data:\n" + msg);
                return;
            }
        }
    }
} // retrieve text of an XML document element, including // elements using namespaces function getElementTextNS(prefix, local, parentElem, index) {
    var result = "";
    if (prefix && isIE) {
        // IE/Windows way of handling namespaces
        result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
    } else {
        // the namespace versions of this method
        // (getElementsByTagNameNS()) operate
        // differently in Safari and Mozilla, but both
        // return value with just local name, provided
        // there aren't conflicts with non-namespace element
        // names
        result = parentElem.getElementsByTagName(local)[index];
    }
    if (result) {
        // get text, accounting for possible
        // whitespace (carriage return) text nodes
        if (result.childNodes.length > 1) {
            return result.childNodes[1].nodeValue;
        } else {
            return result.firstChild.nodeValue;
        }
    } else {
        return "n/a";
    }
}

« previous php.general (#224850) next »