1

(* 初期スレッドをクリーンアップします *)

UserVoice ウィジェットを 1 つの Excel アドインに追加したいと考えています。次のサンプルコードを作成しました。

<!DOCTYPE html>
<html>
  <head>
    <script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script>
    <link rel="stylesheet" href="https://appsforoffice.microsoft.com/fabric/1.0/fabric.min.css">
    <link rel="stylesheet" href="https://appsforoffice.microsoft.com/fabric/1.0/fabric.components.min.css">
  </head>
  <body>
    <div id="contact_us">Contact us</div>
  </body>
  <script>
    // Include the UserVoice JavaScript SDK (only needed once on a page)
    UserVoice=window.UserVoice||[];(function(){var uv=document.createElement('script');uv.type='text/javascript';uv.async=true;uv.src='//widget.uservoice.com/KIXLyRfZDu6MdnaaVtnlSw.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(uv,s)})();

    UserVoice.push(['addTrigger', '#contact_us', {}]);
  </script>
  </body>
</html>

JSBinおよびの下でうまく機能しExcel Online、 をクリックするとContact us、メッセージ ウィンドウが表示されます。ただし、 ではExcel 2016 for Windows、読み込みから数秒後 (予想どおり)、クリックContact usしてもそのようなウィンドウは開きません。

ここに画像の説明を入力

Home.html何か特別な設定が必要なのか、アドインのマニフェスト ファイルなのか、Excel for Windows の設定なのかわかりません。また、ウィンドウがポップアップする位置を変更しようとしています (ただし、まだ機能していません)... 誰か助けてもらえますか?

編集 1 Michael Saunders のコードをテストしました。Excel Online では動作しますが、Excel for Windows では動作しません。以下はスクリーンショットです。をクリックするContact usと、三角形の記号 (赤) が表示されることに注意してください (最初の例では、同じ現象が発生します。また、タスク ペインの空白領域をクリックするだけでも、同じ現象が発生します)。

ボックスが既に表示されていても、タスク ペインの領域に表示されていないのではないでしょうか?

ここに画像の説明を入力

4

2 に答える 2

1

読み込み速度に関しては、UserVoice を動的に、つまりjQuery.getScript(...)を使用して読み込むことができますか?

#2について、あなたは何を期待していましたか?

于 2016-07-21T00:42:12.497 に答える
0

完全な作業ページは次のとおりです。

<!DOCTYPE html>
<html>
<head>
    <title>UserVoice test</title>
    <script src="https://appsforoffice.microsoft.com/lib/1.1/hosted/Office.js" type="text/javascript"></script>
</head>
<body>
    <div id="contact_us">Contact us</div>
</body>
<script>
    UserVoice=window.UserVoice||[];(function(){var uv=document.createElement('script');uv.type='text/javascript';uv.async=true;uv.src='//widget.uservoice.com/KIXLyRfZDu6MdnaaVtnlSw.js';var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(uv,s)})();
    UserVoice.push(['set', {
        width:'300px',
        post_suggestion_enabled:true
    }]);
    UserVoice.push(['identify', {}]);
    UserVoice.push(['addTrigger', '#contact_us', { mode: 'contact',menu_enabled:true, }]);
</script>
</html>

私が変更したいくつかのことは次のとおりです。

  • #contact_us要素をリンクではなく div に変更しました。
  • 余分なタグを削除しました
  • addTrigger呼び出しにオプションのパラメーターを追加しました
  • identifyおよびsetステートメントを追加

また、環境が良好な状態であることを確認してください。

  • ブラウザーのキャッシュをクリアして、デバッグ中に古いコードが存在しないようにします。Internet Explorer (Edge ではない) を開き、[セーフティ] > [閲覧の履歴を削除] > [すべてのボックスを選択] > [削除] > [すべての IE ウィンドウとすべての Office ウィンドウを閉じる] を選択します。
  • コードをオンラインでホストする
于 2016-07-21T22:48:35.297 に答える