本文整理汇总了PHP中QApplication::RenderJavaScript方法的典型用法代码示例。如果您正苦于以下问题:PHP QApplication::RenderJavaScript方法的具体用法?PHP QApplication::RenderJavaScript怎么用?PHP QApplication::RenderJavaScript使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QApplication
的用法示例。
在下文中一共展示了QApplication::RenderJavaScript方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: RenderEnd
protected function RenderEnd($blnDisplayOutput = true)
{
// Ensure that RenderEnd() has not yet been called
switch ($this->intFormStatus) {
case QFormBase::FormStatusUnrendered:
throw new QCallerException('$this->RenderBegin() was never called');
case QFormBase::FormStatusRenderBegun:
break;
case QFormBase::FormStatusRenderEnded:
throw new QCallerException('$this->RenderEnd() has already been called');
break;
default:
throw new QCallerException('FormStatus is in an unknown status');
}
// Setup End Script
$strEndScript = '';
// First, call regC on all Controls
$strControlIdToRegister = array();
foreach ($this->GetAllControls() as $objControl) {
if ($objControl->Rendered) {
array_push($strControlIdToRegister, '"' . $objControl->ControlId . '"');
}
}
if (count($strControlIdToRegister)) {
$strEndScript .= sprintf('qc.regCA(new Array(%s)); ', implode(',', $strControlIdToRegister));
}
// Next, run any GetEndScrips on Controls and Groupings
foreach ($this->GetAllControls() as $objControl) {
if ($objControl->Rendered) {
$strEndScript .= $objControl->GetEndScript();
}
}
foreach ($this->objGroupingArray as $objGrouping) {
$strEndScript .= $objGrouping->Render();
}
// Run End Script Compressor
$strEndScriptArray = explode('; ', $strEndScript);
$strEndScriptCommands = array();
foreach ($strEndScriptArray as $strEndScript) {
$strEndScriptCommands[trim($strEndScript)] = true;
}
$strEndScript = implode('; ', array_keys($strEndScriptCommands));
// Finally, add any application level js commands
$strEndScript .= QApplication::RenderJavaScript(false);
// Next, go through all controls and gather up any JS or CSS to run or Form Attributes to modify
// due to dynamically created controls
$strJavaScriptToAddArray = array();
$strStyleSheetToAddArray = array();
$strFormAttributeToModifyArray = array();
foreach ($this->GetAllControls() as $objControl) {
// Include any JavaScripts? The control would have a
// comma-delimited list of javascript files to include (if applicable)
if ($strScriptArray = $this->ProcessJavaScriptList($objControl->JavaScripts)) {
$strJavaScriptToAddArray = array_merge($strJavaScriptToAddArray, $strScriptArray);
}
// Include any StyleSheets? The control would have a
// comma-delimited list of stylesheet files to include (if applicable)
if ($strScriptArray = $this->ProcessStyleSheetList($objControl->StyleSheets)) {
$strStyleSheetToAddArray = array_merge($strStyleSheetArray, $strScriptArray);
}
// Form Attributes?
if ($objControl->FormAttributes) {
foreach ($objControl->FormAttributes as $strKey => $strValue) {
if (!array_key_exists($strKey, $this->strFormAttributeArray)) {
$this->strFormAttributeArray[$strKey] = $strValue;
$strFormAttributeToModifyArray[$strKey] = $strValue;
} else {
if ($this->strFormAttributeArray[$strKey] != $strValue) {
$this->strFormAttributeArray[$strKey] = $strValue;
$strFormAttributeToModifyArray[$strKey] = $strValue;
}
}
}
}
}
// Finally, render the JS Commands to Execute
// First, alter any <Form> settings that need to be altered
foreach ($strFormAttributeToModifyArray as $strKey => $strValue) {
$strEndScript .= sprintf('document.getElementById("%s").%s = "%s"; ', $this->strFormId, $strKey, $strValue);
}
// Next, add any new CSS files that haven't yet been included to the end of the High Priority commands string
foreach ($strStyleSheetToAddArray as $strScript) {
$strEndScript .= 'qc.loadStyleSheetFile("' . $strScript . '", "all"); ';
}
// Next, add any new JS files that haven't yet been included to the BEGINNING of the High Priority commands string
// (already rendered HP commands up to this point will be placed into the callback)
foreach ($strJavaScriptToAddArray as $strScript) {
if ($strEndScript) {
$strEndScript = 'qc.loadJavaScriptFile("' . $strScript . '", function() {' . $strEndScript . '}); ';
} else {
$strEndScript = 'qc.loadJavaScriptFile("' . $strScript . '", null); ';
}
}
// Finally, add qcodo includes path
$strEndScript = sprintf('qc.jsAssets = "%s"; ', __VIRTUAL_DIRECTORY__ . __JS_ASSETS__) . $strEndScript;
$strEndScript = sprintf('qc.phpAssets = "%s"; ', __VIRTUAL_DIRECTORY__ . __PHP_ASSETS__) . $strEndScript;
$strEndScript = sprintf('qc.cssAssets = "%s"; ', __VIRTUAL_DIRECTORY__ . __CSS_ASSETS__) . $strEndScript;
$strEndScript = sprintf('qc.imageAssets = "%s"; ', __VIRTUAL_DIRECTORY__ . __IMAGE_ASSETS__) . $strEndScript;
// Create Final EndScript Script
$strEndScript = sprintf('<script type="text/javascript">qc.registerForm(); %s</script>', $strEndScript);
//.........这里部分代码省略.........
示例2: RenderEnd
//.........这里部分代码省略.........
if (!array_key_exists($strKey, $this->strFormAttributeArray)) {
$this->strFormAttributeArray[$strKey] = $strValue;
$strFormAttributeToModifyArray[$strKey] = $strValue;
} else {
if ($this->strFormAttributeArray[$strKey] != $strValue) {
$this->strFormAttributeArray[$strKey] = $strValue;
$strFormAttributeToModifyArray[$strKey] = $strValue;
}
}
}
}
}
// Figure out initial list of JavaScriptIncludes
$strJavaScriptArray = $this->ProcessJavaScriptList(__JQUERY_BASE__ . ', ' . __JQUERY_EFFECTS__ . ',jquery/jquery.ajaxq-0.0.1.js,' . __QCUBED_JS_CORE__);
if (defined('__PRELOAD_JS_FILES__') && __PRELOAD_JS_FILES__) {
$strJavaScriptArray = array_merge($strJavaScriptArray, $strJavaScriptToAddArray);
$strJavaScriptToAddArray = array();
}
// Setup IncludeJs
$strToReturn = "\r\n";
// Include javascripts that need to be included
foreach ($strJavaScriptArray as $strScript) {
$strToReturn .= sprintf('<script type="text/javascript" src="%s"></script>', $this->GetJsFileUri($strScript));
$strToReturn .= "\r\n";
}
// First, alter any <Form> settings that need to be altered
foreach ($strFormAttributeToModifyArray as $strKey => $strValue) {
$strEndScript .= sprintf('document.getElementById("%s").%s = "%s"; ', $this->strFormId, $strKey, $strValue);
}
// Next, add any new CSS files that haven't yet been included to the end of the High Priority commands string
foreach ($strStyleSheetToAddArray as $strScript) {
$strEndScript .= 'qc.loadStyleSheetFile("' . $strScript . '", "all"); ';
}
if ($strEvents) {
// qc.regCA first, $strEvents 2nd, application scripts 3rd
$strEndScript = $strEndScript . ';' . $strEvents;
}
// Add any application level js commands. These might refer to previous objects.
$strEndScript .= QApplication::RenderJavaScript(false);
// Next, add any new JS files that haven't yet been included to the BEGINNING of the High Priority commands string
// (already rendered HP commands up to this point will be placed into the callback)
foreach (array_reverse($strJavaScriptToAddArray) as $strScript) {
if ($strEndScript) {
$strEndScript = 'qc.loadJavaScriptFile("' . $strScript . '", function() {' . $strEndScript . '}); ';
} else {
$strEndScript = 'qc.loadJavaScriptFile("' . $strScript . '", null); ';
}
}
// Finally, add QCubed includes path
$strEndScript = sprintf('qc.baseDir = "%s"; ', __VIRTUAL_DIRECTORY__) . $strEndScript;
$strEndScript = sprintf('qc.jsAssets = "%s"; ', __VIRTUAL_DIRECTORY__ . __JS_ASSETS__) . $strEndScript;
$strEndScript = sprintf('qc.phpAssets = "%s"; ', __VIRTUAL_DIRECTORY__ . __PHP_ASSETS__) . $strEndScript;
$strEndScript = sprintf('qc.cssAssets = "%s"; ', __VIRTUAL_DIRECTORY__ . __CSS_ASSETS__) . $strEndScript;
$strEndScript = sprintf('qc.imageAssets = "%s"; ', __VIRTUAL_DIRECTORY__ . __IMAGE_ASSETS__) . $strEndScript;
// Create Final EndScript Script
$strEndScript = sprintf('<script type="text/javascript">$j(document).ready(function() { %s; });</script>', $strEndScript);
// Persist Controls (if applicable)
foreach ($this->objPersistentControlArray as $objControl) {
$objControl->Persist();
}
// Clone Myself
$objForm = clone $this;
// Render HTML
$strToReturn .= "\r\n<div style=\"display: none;\">\r\n\t";
$strToReturn .= sprintf('<input type="hidden" name="Qform__FormState" id="Qform__FormState" value="%s" />', QForm::Serialize($objForm));
$strToReturn .= "\r\n\t";
$strToReturn .= sprintf('<input type="hidden" name="Qform__FormId" id="Qform__FormId" value="%s" />', $this->strFormId);
$strToReturn .= "\r\n</div>\r\n";
$strToReturn .= sprintf('<input type="hidden" name="Qform__FormControl" id="Qform__FormControl" value="" />');
$strToReturn .= sprintf('<input type="hidden" name="Qform__FormEvent" id="Qform__FormEvent" value="" />');
$strToReturn .= sprintf('<input type="hidden" name="Qform__FormParameter" id="Qform__FormParameter" value="" />');
$strToReturn .= sprintf('<input type="hidden" name="Qform__FormCallType" id="Qform__FormCallType" value="" />');
$strToReturn .= sprintf('<input type="hidden" name="Qform__FormUpdates" id="Qform__FormUpdates" value="" />');
$strToReturn .= sprintf('<input type="hidden" name="Qform__FormCheckableControls" id="Qform__FormCheckableControls" value="" />');
foreach ($this->GetAllControls() as $objControl) {
if ($objControl->Rendered) {
$strToReturn .= $objControl->GetEndHtml();
}
}
$strToReturn .= "\n</form>";
$strToReturn .= $strEndScript;
if ($this->blnRenderedBodyTag) {
$strToReturn .= '</body>';
}
// Update Form Status
$this->intFormStatus = QFormBase::FormStatusRenderEnded;
// Display or Return
if ($blnDisplayOutput) {
if (!QApplication::$CliMode) {
print $strToReturn;
}
return null;
} else {
if (!QApplication::$CliMode) {
return $strToReturn;
} else {
return '';
}
}
}
示例3: OutputPage
public static function OutputPage($strBuffer)
{
// If the ProcessOutput flag is set to false, simply return the buffer
// without processing anything.
if (!QApplication::$ProcessOutput) {
return $strBuffer;
}
if (QApplication::$ErrorFlag) {
return $strBuffer;
} else {
if (QApplication::$RequestMode == QRequestMode::Ajax) {
return trim($strBuffer);
} else {
// Update Cache-Control setting
header('Cache-Control: ' . QApplication::$CacheControl);
$strScript = QApplication::RenderJavaScript(false);
if ($strScript) {
return sprintf('%s<script type="text/javascript">%s</script>', $strBuffer, $strScript);
}
return $strBuffer;
}
}
}
示例4: RenderEnd
protected function RenderEnd($blnDisplayOutput = true)
{
// Ensure that RenderEnd() has not yet been called
switch ($this->intFormStatus) {
case QFormBase::FormStatusUnrendered:
throw new QCallerException('$this->RenderBegin() was never called');
case QFormBase::FormStatusRenderBegun:
break;
case QFormBase::FormStatusRenderEnded:
throw new QCallerException('$this->RenderEnd() has already been called');
break;
default:
throw new QCallerException('FormStatus is in an unknown status');
}
// Get End Script
$strEndScript = '';
// First, regC on all Controls
$strControlIdToRegister = array();
foreach ($this->GetAllControls() as $objControl) {
if ($objControl->Rendered) {
array_push($strControlIdToRegister, '"' . $objControl->ControlId . '"');
}
}
if (count($strControlIdToRegister)) {
$strEndScript = sprintf('qc.regCA(new Array(%s)); ', implode(',', $strControlIdToRegister));
}
// Next, run any GetEndScrips on Controls and Groupings
foreach ($this->GetAllControls() as $objControl) {
if ($objControl->Rendered) {
$strEndScript .= $objControl->GetEndScript();
}
}
foreach ($this->objGroupingArray as $objGrouping) {
$strEndScript .= $objGrouping->Render();
}
// Run End Script Compressor
$strEndScriptArray = explode('; ', $strEndScript);
$strEndScriptCommands = array();
foreach ($strEndScriptArray as $strEndScript) {
$strEndScriptCommands[trim($strEndScript)] = true;
}
$strEndScript = implode('; ', array_keys($strEndScriptCommands));
// Next, add qcodo includes path
$strEndScript .= sprintf('qc.jsAssets = "%s"; ', __VIRTUAL_DIRECTORY__ . __JS_ASSETS__);
$strEndScript .= sprintf('qc.phpAssets = "%s"; ', __VIRTUAL_DIRECTORY__ . __PHP_ASSETS__);
$strEndScript .= sprintf('qc.cssAssets = "%s"; ', __VIRTUAL_DIRECTORY__ . __CSS_ASSETS__);
$strEndScript .= sprintf('qc.imageAssets = "%s"; ', __VIRTUAL_DIRECTORY__ . __IMAGE_ASSETS__);
// Finally, add any application level js commands
$strEndScript .= QApplication::RenderJavaScript(false);
// Create Final EndScript Script
$strEndScript = sprintf('<script type="text/javascript">qc.registerForm(); %s</script>', $strEndScript);
// Clone Myself
$objForm = clone $this;
// Render HTML
$strToReturn = "\r\n<div>\r\n\t";
$strToReturn .= sprintf('<input type="hidden" name="Qform__FormState" id="Qform__FormState" value="%s" />', QForm::Serialize($objForm));
$strToReturn .= "\r\n\t";
$strToReturn .= sprintf('<input type="hidden" name="Qform__FormId" id="Qform__FormId" value="%s" />', $this->strFormId);
$strToReturn .= "\r\n</div>\r\n";
// $strToReturn .= "\n\t";
// $strToReturn .= '<input type="hidden" name="Qform__FormControl" id="Qform__FormControl" value="" />';
// $strToReturn .= '<input type="hidden" name="Qform__FormEvent" id="Qform__FormEvent" value="" />';
// $strToReturn .= '<input type="hidden" name="Qform__FormParameter" id="Qform__FormParameter" value="" />';
// $strToReturn .= '<input type="hidden" name="Qform__FormCallType" id="Qform__FormCallType" value="" />';
// $strToReturn .= '<input type="hidden" name="Qform__FormUpdates" id="Qform__FormUpdates" value="" />';
// $strToReturn .= '<input type="hidden" name="Qform__FormCheckableControls" id="Qform__FormCheckableControls" value="" />';
/* $strToReturn .= '<div id="Qform_Logger" style="display:none;width:400px;background-color:#dddddd;font-size:10px;font-family:lucida console, courier, monospaced;padding:6px;';
if (QApplication::IsBrowser(QBrowserType::InternetExplorer))
$strToReturn .= 'filter:alpha(opacity=50);';
else
$strToReturn .= 'opacity:0.5;';
$strToReturn .= 'overflow:auto;"></div>';*/
foreach ($this->GetAllControls() as $objControl) {
if ($objControl->Rendered) {
$strToReturn .= $objControl->GetEndHtml();
}
}
$strToReturn .= "\n</form>";
$strToReturn .= $strEndScript;
if ($this->blnRenderedBodyTag) {
$strToReturn .= '</body>';
}
// Update Form Status
$this->intFormStatus = QFormBase::FormStatusRenderEnded;
// Display or Return
if ($blnDisplayOutput) {
print $strToReturn;
return null;
} else {
return $strToReturn;
}
}