【问题标题】:Get url query string and use as src on iframe获取 url 查询字符串并在 iframe 上用作 src
【发布时间】:2012-10-29 21:22:15
【问题描述】:

我是 javascript 的新手,我想知道这里有一些非常基本的东西。我有一个我想要动态 src 的 iFrame。这个 src(source) 应该只是一个变量。然后一个脚本在加载帧之前设置该变量。

它实际上是 Sharepoint 2010 中的一个 webpart,所以我设置了 webpart 并将它的 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 中。

【问题讨论】:

  • stackoverflow.com/questions/5142825/… 你需要给你的 iframe 一个 id 或者一个名字。
  • 而且你的src不能只是一个查询参数,它必须是一个url。
  • 是的,查询字符串应该包含我想要打开的完整 url。目标是拥有一个可用作 PDF 阅读器的 iframe。所以我在一侧有一个PDF文件列表。当我单击它们中的每一个时,它会更改 iframe 的 url 以显示该 url。

标签: javascript html


【解决方案1】:

您必须为您的 iframe 提供一些类或 ID。 然后你可以调用一个函数,它将 src 动态地赋予 i 帧。 从客户端使用这个:

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

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

【讨论】:

    【解决方案2】:

    让你的链接像这样:

    <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>
    

    【讨论】:

      猜你喜欢
      • 2015-01-16
      • 1970-01-01
      • 2016-12-31
      • 2011-10-21
      • 1970-01-01
      • 2018-09-04
      • 1970-01-01
      • 2011-06-05
      • 1970-01-01
      相关资源
      最近更新 更多