1

iframeを使用して外部アプリケーションにリンクするRally内のカスタムページを使用しようとしています。実行時に、Rallyのsdk.jsファイルに関連するjavascriptエラーが1つ発生します。

私は何か間違ったことをしていますか?

Javascriptエラー:

sdk.jsからのJavascriptエラー

カスタムページに使用されるコード:

<script type="text/javascript" src="/apps/2.0p4/sdk.js"></script>

<script type="text/javascript">
    Rally.onReady(function() {
        Ext.define('CustomApp', {
            extend: 'Rally.app.App',
            componentCls: 'app',

            launch: function() {    

        var user = this.getContext().getUser(); 
            var projectId = Rally.environment.getContext().getProject().ObjectID;
        document.write('<div id="Timesheet"><iframe src="https://myserver/Entry.aspx?RallyUserName=' + user.UserName + '&RallyProject='+ projectId +'" height=90%  width=100% style="border-top-width: 0px;border-right-width: 0px;border-bottom-width: 0px;border-left-width: 0px;"></iframe></div>');                 

            },


        });            

        Rally.launchApp('CustomApp', {
            name: 'Timesheets'
        });
    });
</script>

よろしく、パウロ

4

2 に答える 2

0

この必要性のためにカスタムURLアプリを使用することをお勧めします:

アプリを追加...

カスタムURL

于 2013-02-23T15:38:21.703 に答える
0

SDKの奥深くで奇妙なエラーが発生した場合は、sdk.jsではなくsdk-debug.jsを含めると便利なことがよくあります。何が起こっているのかを追跡するのに役立つ可能性のある、より優れたスタックトレースが得られます。

この場合、document.writeコードは、アプリがそこにあると期待するdom要素を吹き飛ばしています。Extを使用してdom要素を作成すると、すべての設定が完了します。

Ext.define('CustomApp', {
    extend: 'Rally.app.App',
    componentCls: 'app',
    items: [
        { xtype: 'container', itemId: 'Timesheet' }
    ],

    launch: function() {
        this.down('#Timesheet').add({
           xtype: 'component',
           autoEl: {
               tag: 'iframe',
               src: '',
               //...
           }
        });
    }

または、アプリ内の任意のコンテナーまたはコンポーネントから、いつでもgetEl()を呼び出して、dom要素を直接操作できます。

于 2013-02-23T20:03:48.573 に答える