初学者的JavaScript问题

时间:2011-01-26 01:03:48

标签: javascript flexpaper

美好的一天,我一直在谷歌搜索我遇到的很多问题,我总是在这里找到答案,我希望有人能给时间回答这个愚蠢的问题。我是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>

它应该更改代码上的变量文件。我希望你能帮助我。

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

首先,使用函数创建SWF,这样就可以为不同的文件传递单独的参数。

其次,在anchor标记中,在函数末尾返回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;
}