0

こんにちは、私は自分が抱えている多くの問題について Google を検索していて、いつもここで答えを見つけています。誰かがこのばかげた質問に答える時間を与えてくれることを願っています. 私は JavaScript の初心者で、たまたま Flexpaper をいくつかのファイルのビューアーとして使用する個人サイトを作成していました。ユーザーがクリックする href に基づいて URL を変更する方法を考えているところです。 . Flexpaper のスニペットは次のとおりです。

        var swfVersionStr = "10.0.0";
        var xiSwfUrlStr = "playerProductInstall.swf";
        var file = "1984.swf";
        var flashvars = { 
              SwfFile : escape(file),
              Parameters here
              };

         var params = {

            }
        Parameters and Attributes here
        swfobject.embedSWF(
            "FlexPaperViewer.swf", "flashContent", 
            "700", "550",
            swfVersionStr, xiSwfUrlStr, 
            flashvars, params, attributes);
        swfobject.createCSS("#flashContent", "display:block;text-align:left;");`

ビューアをiframeまたは横に配置し、リンクを反対側またはフレームに配置する予定です。

<a href="books/google search APIs.swf">Google search APIs</a>

コード上の変数ファイルを変更する必要があります。あなたが私を助けてくれることを願っています。

4

2 に答える 2

0

次の JavaScript 関数 (名前はswapSwf)を定義してみてください。

function swapSwf(swfPath) {
    swfobject.embedSWF(swfPath, "flashContent", "700", "550");
}

そして、適切なjavascript:接頭辞を付けてリンクで使用するだけです:

<a href="javascript:swapSwf('books/google search APIs.swf')">Google search APIs</a>
于 2011-01-26T03:36:29.697 に答える
0

まず、関数を使用して SWF を作成します。これにより、ファイルごとに個別のパラメーターを渡すことができます。

次に、アンカー タグでは、関数の最後で false を返します。また、アンカー タグ内の onClick イベント ハンドラで "return false" が使用されます。これにより、ブラウザ内のリンクをたどることがキャンセルされ、機能が本来の業務を実行できるようになります (FlexPaper ドキュメントの変更)。

<a href="books/google search APIs.swf" onClick="return showFile(this.href);">Google search APIs</a>

(以下はチェックしていないので、テストする必要があります)

次に、swfFile の場所を含む showFile 関数がパラメーターとして渡されます。

function showFile (swfFile) {
    var swfVersionStr = "10.0.0";
    var xiSwfUrlStr = "playerProductInstall.swf";
    var flashvars = { 
            SwfFile : escape(swfFile),
            Scale : 0.95, 
            ZoomTransition : "easeOut",
            ZoomTime : 0.5,
            ZoomInterval : 0.2,
            FitPageOnLoad : false,
            FitWidthOnLoad : false,
            PrintEnabled : true,
            FullScreenAsMaxWindow : false,
            ProgressiveLoading : true,
            MinZoomSize : 0.3,
            MaxZoomSize : 5,
            localeChain: "en_US"
        };
    var params = {}
    params.quality = "high";
    params.bgcolor = "#ffffff";
    params.allowscriptaccess = "sameDomain";
    params.allowfullscreen = "true";
    params.wmode = "opaque";
    var attributes = {};
    attributes.id = "FlexPaperViewer";
    attributes.name = "FlexPaperViewer";
    swfobject.embedSWF(
        "/FlexPaperViewer.swf", "flashContent", 
        "800", "550",
        swfVersionStr, xiSwfUrlStr, 
        flashvars, params, attributes
    );
    swfobject.createCSS("#flashContent", "display:block;text-align:left;");
    return false;
}
于 2011-01-26T03:36:44.327 に答える