beautypg.com

Adobe Extending Dreamweaver CS4 User Manual

Page 164

background image

158

EXTENDING DREAMWEAVER CS4

Menus and menu commands

function canAcceptCommand()

{

var PIB = dw.getBrowserList();

if (arguments[0] == 'primary' || arguments[0] == 'secondary')

return havePreviewTarget();

return havePreviewTarget() && (PIB.length > 0);

}

The

canAcceptCommand()

function in the PIB_Dynamic.js file again retrieves the browser list that was created in the

Preferences dialog box. Then it checks whether the first argument (

arguments[0]

) is primary or secondary. If so, it

returns the value returned by the

havePreviewTarget()

function. If not, it tests the call to the

havePreviewTarget()

function and tests whether any browsers have been specified (

PIB.length > 0

). If both tests

are true, the function returns the value

true

. If either or both of the tests are false, the function returns the value

false

.

havePreviewTarget()
The

havePreviewTarget()

function is a user-defined function that returns the value

true

if Dreamweaver has a valid

target to display in the browser. A valid target is a document or a selected group of files in the Site panel. The

havePreviewTarget()

function looks like the following example:

function havePreviewTarget()

{

var bHavePreviewTarget = false;

if (dw.getFocus(true) == 'site')
{

if (site.getFocus() == 'remote')
{

bHavePreviewTarget = site.getRemoteSelection().length > 0 &&

site.canBrowseDocument();

}
else if (site.getFocus() != 'none')
{

var selFiles = site.getSelection();

if (selFiles.length > 0)
{

var i;

bHavePreviewTarget = true;

for (i = 0; i < selFiles.length; i++)
{

var selFile = selFiles[i];

// For server connections, the files will
// already be remote URLs.

if (selFile.indexOf("://") == (-1))
{

var urlPrefix = "file:///";
var strTemp = selFile.substr(urlPrefix.length);

if (selFile.indexOf(urlPrefix) == -1)

This manual is related to the following products: