2012-10-29 63 views
0

我完全是新的JavaScript,我想知道这里真的很基本。我有一个我想要一个动态src的iFrame。这个src(source)应该只是一个变量。然后一个脚本在加载帧之前设置该变量。获取网址查询字符串,并在iframe上使用src

它实际上是在2010年Sharepoint中的WebPart,所以我成立了Web部件和编辑它的HTML源代码是这样的:

<script language="JavaScript"> 


var qs = getQueryStrings(); 
var myParam = qs["myParam"]; 

function getQueryStrings() { 
    var assoc = {}; 
    var decode = function (s) { return decodeURIComponent(s.replace(/\+/g, " ")); }; 
    var queryString = location.search.substring(1); 
    var keyValues = queryString.split('&'); 

    for(var i in keyValues) { 
    var key = keyValues[i].split('='); 
    if (key.length > 1) { 
     assoc[decode(key[0])] = decode(key[1]); 
    } 
    } 

    return assoc; 
} </script> 

<iframe height="500" src="(myParam);" width="800"></iframe> 

我甚至不能确定的语法是正确的。基本上,我想将变量插入到iframe的src中。

+0

http:// stackove rflow.com/questions/5142825/how-to-load-page-dynamically-in-iframe你需要给你的iframe一个id,也许一个名字。 – Stefan

+0

而你的src不能只是一个查询参数,它必须是一个url。 – Stefan

+0

是的,querystring应该包含我想打开的完整url。目标是拥有一个可用作PDF阅读器的iframe。所以我在一边有一个PDF文件列表。当我点击它们中的每一个时,它都会更改iframe的网址以代替显示该网址。 –

回答

0

你必须给你的Iframe一些类或ID。 然后,你可以调用一个函数,它会给我的框架以严酷的方式。 从客户端使用这样的:

$('#ID_of_Iframe').attr('src','NEW SRC hERE'); 

Example: $('#ID_of_Iframe').attr('src','www.google.com'); 
0

让你的链接是这样的:

<a href="file1.pdf" onClick="window.frames['myPdfFrameName'].location ='file1.pdf';return false;">File1.PDF</a> 

或:

<iframe name='myPdfFrameName'></iframe> 

<a href="" onClick="loadFrame('file1.pdf');">File1.PDF</a> 

function loadFrame(href) { 
    window.frames['myPdfFrameName'].location = href; 
    return false; 
} 

编辑:最简单的就是可能使用链接的目标属性:

<a href='file1.pdf' target='myPdfFrameName'>File1.pdf</a>