Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调用加载时打印_Javascript_Joomla - Fatal编程技术网

Javascript 调用加载时打印

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

我在Joomla中有一个页面,单击打印按钮元素后会打开一个弹出窗口。下面是运行“公共函数渲染”的脚本

    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属性的事件处理程序