0

我在 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>';*/

注意元素打印按钮。目前它设置为点击打印我希望它在加载时打印。我无法将 onload 函数插入到 body 标记中,因为此页面是使用 $params = 数组动态创建的

4

2 回答 2

0

我无法将 onload 功能插入正文标签

然后你可以使用一个<script>

window.onload = function() { … }

反而。

但是 Joomla 不是已经合并了像 fe jQuery 之类的高级 JS 库吗?这些应该提供方法来执行加载或准备好的代码,而不必依赖像事件处理程序这样的老式方法通过 HTML 属性......</p>

于 2013-10-08T07:02:44.633 回答
0

这个怎么样:

return '<a class="element-print-button" onclick="window.print(); return false;" href="#"></a><script>window.onload=window.print();</script>';

免责声明:我不知道 Joomla 是如何工作的,但这只是一个 Javascript 解决方案。

于 2013-10-08T04:25:22.880 回答