0

ファイル名のリストを表示する K2 Smartform があります。ユーザーがファイル名をクリックすると、プログラムはそのファイル (すべて PDF) をブラウザー (IE) の新しいタブで開きます。ここまでは良いです。リストから 2 番目のファイルをクリックすると、3 番目のタブで開きます。それはユーザーが望んでいることではありません。

彼らは、最初のファイルと同じウィンドウで 2 番目のファイルを選択して開きたいと考えています。

これは私が見ることができるプロセスです:

  1. リスト内のファイルをクリックします。
  2. タブで開きます。
  3. リスト内の 2 番目のファイルをクリックします。
  4. リストのファイルを含むタブが既に開いている場合は、そこでこのファイルを開きます。それ以外の場合は、ファイルの新しいタブを開きます。

2番目のファイルをクリックしたときに最初のタブを自動的に閉じると、同じことが達成されると思います。

これはどのように行うことができますか?

4

1 に答える 1

1

リンクを開く処理を行う場合、まずできることは限られています。実際、ブラウザー (IE、Chrome など) は、ユーザーが新しいタブやウィンドウなどでリンクを開くように構成できますが、フォーム開発者はそれを変更できません。

あなたの状況を再現し、テストできる解決策を提案するために jsfiddle を作成しました。私は Mac を使用しているため、それが機能することを保証するものではありませんが、より良い解決策について以下に説明します。

ここで見つけることができます: https://jsfiddle.net/chevdor/45k40npv/

最初の例 (#1) は、現時点であなたに起こっていることだと思います。「ターゲット」属性を使用して、私はあなたのために働くかもしれない解決策を実装しようとしました. #2 と #3 をクリックして、これが機能するかどうかを確認します。私はMacを使用しているため、テストできません。

target 属性の詳細については、次を参照してください。

http://www.w3schools.com/tags/att_a_target.asp

より細かく制御できるもう 1 つの解決策は、iFrame コントロールを使用することです。今では SmartForms に標準で搭載されていると思います。そうでない場合は、コミュニティ サイトから確実に入手できます。この iFrame で新しいビューを作成し、「url」という 1 つのパラメーター (文字列) を定義することをお勧めします。

K2 ルール言語で話しましょう :) 「パラメーターが変更されたとき」、「パラメーターが定義されたとき」、「データを転送」して URL を iFrame コントロールに渡すと、ドキュメントが表示されます。ユーザーが別のドキュメントをクリックすると、同じ iFrame が更新されます。このソリューションでは、タブが関与することはありません。

お使いのブラウザでサポートされているすべてのドキュメントでうまく機能することに注意してください。種類によってはプラグインが必要な場合があります。その他のドキュメント (zip など) は表示されず、代わりにダウンロードされます。

これが役立つことを願っています。よろしく、-chevdor

于 2015-04-10T16:33:33.260 に答える