美好的一天,我一直在谷歌搜索我遇到的很多问题,我总是在这里找到答案,我希望有人能给时间回答这个愚蠢的问题。我是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>
它应该更改代码上的变量文件。我希望你能帮助我。
答案 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;
}