本文整理汇总了PHP中sfWebResponse::addJavascript方法的典型用法代码示例。如果您正苦于以下问题:PHP sfWebResponse::addJavascript方法的具体用法?PHP sfWebResponse::addJavascript怎么用?PHP sfWebResponse::addJavascript使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类sfWebResponse
的用法示例。
在下文中一共展示了sfWebResponse::addJavascript方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: replaceJavascripts
/**
* Replaces response original javascripts by optimized ones (only if javascript
* optimization has been enabled by configuration)
*
* @param sfWebresponse $response
*/
public function replaceJavascripts(sfWebResponse $response)
{
if (is_null($javascriptOptimizer = $this->getOptimizer('javascript'))) {
return;
}
foreach ($javascriptOptimizer->getAssetFiles() as $file) {
$response->removeJavascript($file);
}
$response->addJavascript($javascriptOptimizer->getOptimizedFileWebPath(), 'first');
}
示例2: prepareAssetsForNativeApp
protected function prepareAssetsForNativeApp(sfWebRequest $request, sfWebResponse $response, $buildSettings)
{
$this->isInitialRequest = !$request->isXmlHttpRequest();
foreach ($buildSettings['javascripts'] as $file) {
list($filename, $position) = $this->extractFilenameAndPositionForAssetResource($file);
if ($this->isInitialRequest) {
$response->addJavascript($filename, $position);
} else {
$response->removeJavascript($filename, $position);
}
}
foreach ($buildSettings['stylesheets'] as $file) {
list($filename, $position) = $this->extractFilenameAndPositionForAssetResource($file);
if ($this->isInitialRequest) {
$response->addStylesheet($filename, $position);
} else {
$response->removeStylesheet($filename, $position);
}
}
$excludeStylesheets = $buildSettings['excludeStylesheets'];
foreach ($excludeStylesheets as $assetResource) {
list($filename, $position) = $this->extractFilenameAndPositionForAssetResource($assetResource);
$response->removeStylesheet($filename, $position);
}
$excludeJavascripts = $buildSettings['excludeJavascripts'];
foreach ($excludeJavascripts as $assetResource) {
list($filename, $position) = $this->extractFilenameAndPositionForAssetResource($assetResource);
$response->removeJavascript($filename, $position);
}
$context = $this->getContext();
if (method_exists($context, 'getConfiguration') && method_exists($context->getConfiguration(), 'loadHelpers')) {
$context->getConfiguration()->loadHelpers('Asset');
} else {
if (method_exists('sfLoader', 'loadHelpers')) {
sfLoader::loadHelpers('Asset');
//compatibility with symfony 1.0:
}
}
sfConfig::set('symfony.asset.stylesheets_included', true);
sfConfig::set('symfony.asset.javascripts_included', true);
$css = '';
$js = '';
foreach (array('first', '', 'last') as $position) {
$stylesheets = $response->getStylesheets($position);
if (!empty($stylesheets)) {
$css .= "\n/* position: {$position} */\n";
$css .= $this->getCombinedAssetsAsString($stylesheets, 'stylesheet_path');
}
$javascripts = $response->getJavascripts($position);
if (!empty($javascripts)) {
$jsCurrent = $this->getCombinedAssetsAsString($javascripts, 'javascript_path');
$jsCurrent = str_replace(array("'<script>", "</script>'"), array("'<scr'+'ipt>", "</scr'+'ipt>'"), $jsCurrent);
//hack to avoid breaking code in jQuery mobile: domain && iframe_doc.write( '<script>document.domain="' + domain + '"</script>' );
$js .= "\n/* position: {$position} */\n";
$js .= $jsCurrent;
}
}
if ($this->isInitialRequest) {
//embed everything directly into main file
$css = $this->base64EncodeImages($css);
$this->cssContent = $css;
$this->jsContent = $js;
$this->jsContent2 = 'test';
} else {
$this->cssSrc = $this->getContentAsFileSrc($css, 'css');
if (!$this->cssSrc) {
$this->cssContent = $css;
}
// $this->jsSrc = $this->getContentAsFileSrc($js, 'js');
// if (!$this->jsSrc) {
// $this->jsContent = $js;
// }
$this->jsContent = $js;
//we have to load javascripts inline because iOs Safari loads external javascripts asynchronesly and thus we could nomore rely on events like pagecreate, pageshow, pagehide dom.ready etc
}
}
示例3: catch
$t->pass('optimizeJavascripts() can optimize js files');
} catch (RuntimeException $e) {
$t->fail('optimizeJavascripts() can optimize js files');
}
// optimizeStylesheets()
$t->diag('optimizeStylesheets()');
$service = new npAssetsOptimizerService($dispatcher, array('stylesheet' => array('enabled' => true, 'class' => 'npOptimizerStylesheet', 'params' => array('destination' => '/css/my_optimized.css', 'files' => array('foo.css')))), $baseAssetsDir);
try {
$service->optimizeStylesheets();
$t->pass('optimizeStylesheets() can optimize css files');
} catch (RuntimeException $e) {
$t->fail('optimizeStylesheets() can optimize css files');
}
// replaceJavascripts()
$t->diag('replaceJavascripts()');
$service = new npAssetsOptimizerService($dispatcher, array('javascript' => array('enabled' => true, 'class' => 'npOptimizerJavascript', 'params' => array('destination' => '/js/my_optimized.js', 'files' => array('foo.js')))), $baseAssetsDir);
$response = new sfWebResponse($dispatcher, array());
$response->addJavascript('foo.js');
$service->replaceJavascripts($response);
$responseJS = array_keys($response->getJavascripts());
$t->is(count($responseJS), 1, 'replaceJavascripts() replaced javascripts');
$t->is($responseJS[0], '/js/my_optimized.js', 'replaceJavascripts() replaced javascripts');
// replaceStylesheets()
$t->diag('replaceStylesheets()');
$service = new npAssetsOptimizerService($dispatcher, array('stylesheet' => array('enabled' => true, 'class' => 'npOptimizerStylesheet', 'params' => array('destination' => '/css/my_optimized.css', 'files' => array('foo.css')))), $baseAssetsDir);
$response = new sfWebResponse($dispatcher, array());
$response->addStylesheet('foo.css');
$service->replaceStylesheets($response);
$responseCSS = array_keys($response->getStylesheets());
$t->is(count($responseCSS), 1, 'replaceStylesheets() replaced stylesheets');
$t->is($responseCSS[0], '/css/my_optimized.css', 'replaceStylesheets() replaced stylesheets');