﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <meta name="generator" content="Adobe RoboHelp 8">
<title>JavaScript Support</title>
<link rel="StyleSheet" href="default.css" type="text/css">
<style type="text/css">
<!--
body { border-left-style:None;
border-right-style:None;
border-bottom-style:None;
background-color:Transparent;
border-top-style:None; }
-->
</style>
<style type="text/css">
<!--
body { border-left-style:None;
border-right-style:None;
border-bottom-style:None;
background-color:Transparent;
border-top-style:None; }
-->
</style>
<script type="text/javascript" language="JavaScript">
//<![CDATA[
function reDo() {
  if (innerWidth != origWidth || innerHeight != origHeight)
     location.reload();
}
if ((parseInt(navigator.appVersion) == 4) && (navigator.appName == "Netscape")) {
	origWidth = innerWidth;
	origHeight = innerHeight;
	onresize = reDo;
}
onerror = null; 
//]]>
</script>
<style type="text/css">
<!--
div.WebHelpPopupMenu { position:absolute;
left:0px;
top:0px;
z-index:4;
visibility:hidden; }
p.WebHelpNavBar { text-align:right; }
-->
</style>
<script type="text/javascript" language="javascript1.2" src="whmsg.js"></script>
<script type="text/javascript" language="javascript" src="whver.js"></script>
<script type="text/javascript" language="javascript1.2" src="whproxy.js"></script>
<script type="text/javascript" language="javascript1.2" src="whutils.js"></script>
<script type="text/javascript" language="javascript1.2" src="whlang.js"></script>
<script type="text/javascript" language="javascript1.2" src="whtopic.js"></script>
<script type="text/javascript" language="javascript1.2">//<![CDATA[
<!--
if (window.gbWhTopic)
{
	var strUrl = document.location.href;
	var bc = 0;
	var n = strUrl.toLowerCase().indexOf("bc-");
	if(n != -1)
	{
		document.location.href = strUrl.substring(0, n);
		bc = strUrl.substring(n+3);
	}

	if (window.setRelStartPage)
	{
	addTocInfo("Concepts\nJavaScript Support");
addAvenueInfo("Concepts","path_mapping.htm","mylyn_integration.htm");

	}

	document.write("<p style=\"text-align:left\"> ");
AddMasterBreadcrumbs("ide_help.htm", "", "&gt;", "Home", "pdt_table_of_contents.htm");
document.write("<a href=\"concepts.htm\">Concepts<\/a> &gt; JavaScript Support<\/p>");


	if (window.setRelStartPage)
	{
	setRelStartPage("ide_help.htm");

		autoSync(0);
		sendSyncInfo();
		sendAveInfoOut();
	}

}
else
	if (window.gbIE4)
		document.location.reload();
//-->
//]]></script>
</head>

<body leftmargin="5" topmargin="5" rightmargin="5" bottommargin="5"><script type="text/javascript" language="javascript1.2">//<![CDATA[
<!--
if (window.writeIntopicBar)
	writeIntopicBar(4);
//-->
//]]></script>
<div style="width: 100%; position: relative;" id="header">
	
	
 <p align="right"><a 
	 title="Documentation Survey" href="http://spreadsheets.google.com/viewform?formkey=dC1scEswTjFia2tDQ3Y5TVJBbkNQcWc6MQ">Documentation 
	 Survey</a> 
	 | <a href="javascript:crlf=&quot;&quot;;h=location.href;t=document.title;e = &quot;&quot; + (window.getSelection ? window.getSelection() : document.getSelection ? document.getSelection() : document.selection.createRange().text); if (e!=null) location=&quot;mailto:documentation@zend.com&quot; + &quot;?Subject= Feedback on PDT for page &quot; + escape(t) + &quot;&amp;Body=&quot; + escape(e).replace(/ /g, &quot;+&quot;) + crlf + &quot; &quot;; void 0"><span 
	 style="background-color: #ffffff;">Submit Documentation</span><span 
	 style="background-color: #ffffff;"> Feedback</span></a><span 
	 style="background-color: #ffffff;"></span><span style="background-color: #ffffff;"> 
	 </span><span style="background-color: #ffffff;">| 
	 </span><span 
	 style="background-color: #ffffff;"><a title="View Latest Version and Get PDF Online" 
											 href="http://www.zend.com/en/resources/zend-documentation/" 
											 target="_blank">View Latest 
	 Version and Get PDF Online</a></span></p>
</div>


<h1>JavaScript Support 
 </h1>
<p>JavaScript is a scripting language designed to add interactivity to 
 HTML pages.</p>
<p>PDT provides 
 support for JavaScript features in standalone JavaScript files as well 
 as in PHP files and projects.</p>
<p style="font-weight: bold;">&#160;</p>
<p style="font-weight: bold;">Some of the JavaScript features available 
 for PHP projects and files are:</p>
<ul>
	<li type="square"><p><a href="viewing_javascript_elements_in_the_outline_view.htm">JavaScript 
	 Element Outline</a> - JavaScript elements will be displayed in the 
	 <a href="php_outline_view.htm">Outline view</a>.</p></li>
	<li type="square"><p>JavaScript libraries will be added to the Include 
	 Paths of PHP projects for which <a href="enabling_javascript_support_in_php_projects.htm">JavaScript 
	 support has been enabled</a>.</p></li>
	<li type="square"><p><a href="setting_the_javascript_build_path.htm">JavaScript 
	 Build Paths</a> - Setting the JavaScript Build Path for a project 
	 will allow you to determine which elements will be &#160;included 
	 in the project's build process. This allows access to content assist options from resources in locations 
	 other than in the project itself.</p></li>
	<li type="square"><p>Advanced editing functionality in JavaScript editors. 
	 For example:</p></li>
	<ul type="disc">
		<li><p>Drag and drop behavior that allows you to select a block 
		 of code and move it across lines. </p></li>
		<li><p><a href="using_javascript_content_assist.htm">JavaScript 
		 Content Assist</a></p></li>
		<li><p><a href="using_javascript_syntax_coloring.htm">JavaScript 
		 Syntax Coloring</a></p></li>
		<li><p>JavaScript <a href="commenting_code.htm">Code Commenting</a></p></li>
		<li><p>JavaScript <a href="hover_support.htm">Hover Support</a></p></li>
		<li><p><a href="using_javascript_mark_occurences.htm">JavaScript 
		 Mark Occurrences</a></p></li>
		<li><p>JavaScript <a href="using_smart_goto_source.htm">Smart Goto 
		 Source</a></p></li>
	</ul>
</ul>
<p class="ListBullet2">&#160;</p>
<p class="ListBullet2" style="margin-left: 0px;">JavaScript support can 
 be added to new or existing PHP projects so that all of PDT 's JavaScript features 
 are available to the project.</p>
<p class="ListBullet2" style="margin-left: 0px;">For a full list of features 
 enabled for JavaScript development, see <a href="../../plugins_root/org.eclipse.wst.jsdt.doc/features/index.html">Features 
 - Javascript Developtment Toolkit (JSDT)</a> in the JavaScript Development 
 Toolkit User Guide.</p>
<div>
<p class="Note">Note:</p>
<p class="NoteText">Additional user 
 guides can be accessed from inside PDT 
 by going to <span style="font-weight: bold;"><b>Help | Help Contents</b></span>, 
 or from the Eclipse Online Documentation site (<a 
	 href="http://help.eclipse.org/ganymede/index.jsp" target="_blank">http://help.eclipse.org/ganymede/index.jsp</a>).</p>
</div>
<table cellspacing="0" width="100%">
	<col style="width: 7.093%;">
	<col style="width: 92.907%;">
	<tr style="vertical-align: top; 
											 height: 16px;">
		<td style="width: 7.093%; padding-right: 10px; 
												 padding-left: 10px;"><p 
			 style="font-size: 6pt;">&#160;</p></td>
		<td style="width: 92.907%; 
												 padding-right: 10px; padding-left: 10px;"><p>&#160;</p></td>
	</tr>
	<tr style="vertical-align: top; 
											 height: 35px;">
		<td style="width: 7.093%; padding-right: 10px; 
												 padding-left: 10px;"><p 
			 style="font-size: 6pt;"><img src="link_icon.png" alt="link_icon.png" style="border: none;" width="32" height="40" border="0"> 
		 </p></td>
		<td style="width: 92.907%; 
												 padding-right: 10px; padding-left: 10px;"><p><span 
		 style="font-weight: bold;"><b>Related Links:</b></span><a href="using_javascript.htm"><br>
		Developing with JavaScript</a></p>
		<p><a href="enabling_javascript_support_in_php_projects.htm">Enabling 
		 JavaScript Support in PHP Projects</a></p>
		<p><a href="setting_the_javascript_build_path.htm">Setting the 
		 JavaScript Build Path</a></p>
		<p><a href="viewing_javascript_elements_in_the_outline_view.htm">Viewing 
		 JavaScript Elements in the Outline View</a></p>
		<p><a href="using_javascript_content_assist.htm">Using JavaScript 
		 Content Assist</a></p>
		<p><a href="using_javascript_syntax_coloring.htm">Using JavaScript 
		 Syntax Coloring</a></p>
		
		<p><a href="using_javascript_mark_occurences.htm">Using JavaScript 
		 Mark Occurrences</a></p>
		<p>JavaScript Libraries</p></td>
	</tr>
	<tr style="vertical-align: top; 
											 height: 19px;">
		<td style="width: 7.093%; padding-right: 10px; 
												 padding-left: 10px;"><p 
			 style="font-size: 6pt;">&#160;</p></td>
		<td style="width: 92.907%; 
												 padding-right: 10px; padding-left: 10px;"><p>&#160;</p></td>
	</tr>
</table>
<div style="width: 100%; position: relative;" id="footer">
	
 <p style="text-decoration: underline; " 
										 align="center">PHP Development 
	 Tools</p>
	
	
</div>
<script type="text/javascript" language="javascript1.2">//<![CDATA[
<!--
if (window.writeIntopicBar)
	writeIntopicBar(0);

highlightSearch();
//-->
//]]></script>
</body>
</html>
