2

解決した [前の問題][1] のフォローアップとして、いくつかの基本的な JavaScript を含む単純な HTML Web リソースの作成に問題があります。ページは正しくレンダリングされますが、スクリプトが正しく機能していないようです。

私の HTML リソースは非常に基本的なものです。

<html>
<head>
    <script src="ClientGlobalContext.js.aspx" />
    <script type="text/javascript" src="new_jquery_1.7.2.min" />
    <script type="text/javascript">    

        function buttonClick() { alert('Yo !'); }

    </script>
</head>
<body>
    <input type="button" value="Test" onclick="javascript: buttonClick();" />
</body>
</html>

ページは正常に表示されますが、ボタンをクリックするとThe value of the property is null or undefined not a function object関数が存在しないようなエラーが発生しますが、コードが正しくレンダリングされることを F12 コンソールで確認しました。

また、次の形式で、直接 URL を介して Web リソースを呼び出してみました。

http://mycrmserver/myorg/WebResources/new_myResource

しかし、(予想どおり)ページの動作は同じでした。

私はGoogleをチェックし、他のいくつかのSOの質問MSDNをサーフィンしましたが、すべてこれが正しい方法であると述べています.私のコードの何が問題なのですか?

その他 (役立つかどうかは不明) の詳細:

  • F12 ツールが開いている場合、SCRIPT5007コンソールに JavaScript ランタイム エラーとしてエラーが表示されます。そうでない場合、Web リソースの直接 URL を参照すると通常のスクリプト エラー通知ポップアップが表示されるか、CRM 内のリソースを開こうとしても何も起こりません。
  • CRM 環境はロールアップ 3に更新されます(残念ながら更新はオプションではありません)。
  • IE 9を使用しています (注: Dynamics CRM は、IE 以外のブラウザーではまだ使用できません)。


UPDATE 省略形のタグは CRM を混乱させます。

基本的に、この構文は時々めちゃくちゃになります:

<script src="ClientGlobalContext.js.aspx" />

しかし、これは完全に機能します:

<script src="ClientGlobalContext.js.aspx"></script>
4

1 に答える 1

3

script投稿したコードが正しいにもかかわらず、根本的な原因はタグの欠落です。

CRM は、スクリプト エディタ ウィンドウにポストする HTML をいじります。ClientGlobalContext.js.aspxブラウザでレンダリングされるのは次のとおりです (タグは、貼り付けたコードと同じ方法で閉じられていないことに注意してください)。

<HTML><HEAD>
<SCRIPT src="ClientGlobalContext.js.aspx">
<script type="text/javascript" src="new_jquery_1.7.2.min" />
<script type="text/javascript">    

    function buttonClick() { alert('Yo !'); }

</SCRIPT>

<META charset=utf-8></HEAD>
<META charset=utf-8></HEAD>
<BODY><INPUT onclick=javascript:buttonClick(); value=Test type=button></BODY></HTML>

解決策: 各開始スクリプト タグに完全な "close" タグを追加します ("/>" を使用するのではなく)。

于 2012-08-09T12:30:28.817 に答える