Задача JavaScript новичка - PullRequest
       29

Задача JavaScript новичка

0 голосов
/ 26 января 2011

Добрый день, я искал в Google много вопросов, которые у меня есть, и я всегда нахожу здесь ответы, и я надеюсь, что кто-то даст время, отвечая на этот глупый вопрос.Я новичок в JavaScript, и я случайно создал персональный сайт, который использует Flexpaper в качестве средства просмотра для некоторых из моих файлов, и мне просто интересно, как я могу изменить 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 голосов
/ 26 января 2011

Сначала используйте функцию для создания SWF, чтобы вы могли передавать отдельные параметры для разных файлов.

Во-вторых, в теге привязки возвращайте false в конце вашей функции, в то время как в обработчике события onClick внутри тега привязки используется также «return false». Это приведет к отмене перехода по ссылке в браузере и позволит функции выполнять свою работу (изменение документа FlexPaper).

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

(я не проверял следующее, поэтому вам придется проверить)

Затем функция showFile с указанием местоположения swfFile передается в качестве параметра:

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;
}
0 голосов
/ 26 января 2011

Попробуйте определить следующую функцию 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>
...