Create the behavior extension – Adobe Extending Dreamweaver CS4 User Manual

Page 242

Advertising
background image

236

EXTENDING DREAMWEAVER CS4

Behaviors

Create the behavior extension

The following code presents a relatively simple example. The code checks the brand of the browser. The code opens
one page if the brand is Netscape Navigator and another if the brand is Microsoft Internet Explorer. This code can
easily be expanded to check for other brands such as Opera and WebTV and modified to perform actions other than
going to URLs.

1

Create a new blank file.

2

Add the following to the file:

<!DOCTYPE HTML SYSTEM "-//Adobe//DWExtension layout-engine 10.0//dialog">

<html>
<head>
<title>behavior "Check Browser Brand"</title>
<meta http-equiv="Content-Type" content="text/html">
<script language="JavaScript">

// The function that will be inserted into the
// HEAD of the user's document
function checkBrowserBrand(netscapeURL,explorerURL) {

if (navigator.appName == "Netscape") {

if (netscapeURL) location.href = netscapeURL;

}else if (navigator.appName == "Microsoft Internet Explorer") {

if (explorerURL) location.href = explorerURL;

}

}

//******************* API **********************

function canAcceptBehavior(){

return true;

}

// Return the name of the function to be inserted into
// the HEAD of the user's document
function behaviorFunction(){

return "checkBrowserBrand";

}

// Create the function call that will be inserted
// with the event handler
function applyBehavior() {

var nsURL = escape(document.theForm.nsURL.value);
var ieURL = escape(document.theForm.ieURL.value);
if (nsURL && ieURL) {

return "checkBrowserBrand(\'" + nsURL + "\',\'" + ieURL + "\')";

}else{

return "Please enter URLs in both fields."

}

}

// Extract the arguments from the function call
// in the event handler and repopulate the
// parameters form
function inspectBehavior(fnCall){

var argArray = getTokens(fnCall, "()',");
var nsURL = unescape(argArray[1]);

Advertising
This manual is related to the following products: