Javascript 调用加载时打印
我在Joomla中有一个页面,单击打印按钮元素后会打开一个弹出窗口。下面是运行“公共函数渲染”的脚本Javascript 调用加载时打印,javascript,joomla,Javascript,Joomla,我在Joomla中有一个页面,单击打印按钮元素后会打开一个弹出窗口。下面是运行“公共函数渲染”的脚本 public function render($params = array()) { $params = $this->app->data->create($params); // include assets css $this->app->document->addStylesheet('elements:itempr
public function render($params = array()) {
$params = $this->app->data->create($params);
// include assets css
$this->app->document->addStylesheet('elements:itemprint/assets/css/itemprint.css');
if ($this->app->request->getBool('print', 0)) {
// Hide respond form from the printing view
$this->app->document->addStyleDeclaration('#comments #respond { display:none; }');
// Hide comments if requested
if (!$params->get('showcomments', true)) {
$this->app->document->addStyleDeclaration('#comments { display:none; }');
}
return '<a class="element-print-button" onclick="window.print(); return false;" href="#"></a>';
/*return '<a class="element-print-button" window.onload="window.print();" href="#"></a>';*/
公共函数呈现($params=array()){
$params=$this->app->data->create($params);
//包括资产css
$this->app->document->addStylesheet('elements:itemprint/assets/css/itemprint.css');
如果($this->app->request->getBool('print',0)){
//从打印视图中隐藏响应表单
$this->app->document->addStyleDeclaration(“#评论#回复{显示:无;}”);
//如果需要,隐藏评论
if(!$params->get('showcoments',true)){
$this->app->document->addStyleDeclaration(“#注释{display:none;}”);
}
返回“”;
/*返回“”*/
请注意元素打印按钮。当前它设置为单击时打印。我希望它改为加载时打印。我无法将onload函数插入到body标记中,因为此页面是使用$params=array动态创建的
return '<a class="element-print-button" onclick="window.print(); return false;" href="#"></a><script>window.onload=window.print();</script>';
return'window.onload=window.print();';
免责声明:我不知道Joomla是如何工作的,但这只是一个Javascript解决方案
我无法将onload函数插入到body标记中
然后,您可以将
块用于
window.onload = function() { … }
相反
但Joomla不是已经包含了f.e.jQuery之类的高级JS库吗?这些库应该提供在加载或就绪时执行代码的方法,而不必依赖于老式的方法,比如通过HTML属性的事件处理程序