0

你们中的任何人都知道是否可以根据 url(网页)大小更改 SmartPortal 的默认大小?默认为屏幕宽度的 1/3,高度为 250px。是否可以将其更改为采用整个屏幕宽度和其他高度?

Mayby 我必须为此创建一个 SmartPortal 插件或操作网页 DOM?

任何建议都会有所帮助:)

4

1 回答 1

0

我已经想通了(感谢 ShankarSangoli)。我使用 jQuery 来修改 iframe 高度。整个仪表板只是一个 html 表格,因此使用一些选择器我能够更改 iframe 高度。

这是我的代码:

    <script type="text/javascript">
        $(document).ready(function () {
            //SmartPortal name
            var SPname = 'Name of SmartPortal';
            //function usage
            resizeSP(SPname, 400);
        });

        function resizeSP(SP, size) {
            $("table.TitleText td.TitleText:contains(" + SP + ")", parent.document).closest('#title-bar').parent().next().find('#contentNode').children(":first").css("height", size);
        }
    </script>

但是有一些限制!!!SmartPortal 使用的 html 页面必须与 Pivotal 位于同一域中(JavaScript 安全限制),因此我将文档保存在本地驱动器上,并在 SP 属性中使用相对 URL。

如果您想在域外使用网页,只需创建一个包含带有目标 URL 的 iframe 的 html 文档并将其加载到 Pivotal 中。像这样:

<html>
<head>
    <script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            //SmartPortal name
            var SPname = 'SP name;
            //usage
            resizeSP(SPname, 400);
        });

        function resizeSP(SP, size) {
            $("table.TitleText td.TitleText:contains(" + SP + ")", parent.document).closest('#title-bar').parent().next().find('#contentNode').children(":first").css("height", size);
        }
    </script>
    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
            overflow: auto;
            height: 100%;
        }
        iframe {
            display:block;
            width:100%;
            border:none;
        }
    </style>
</head>
<body>
    <iframe src="http://www.yoursite.com"></iframe>
</body>

我希望它对任何人都有帮助:)

于 2012-02-17T09:08:54.237 回答