【问题标题】:Modify frame src by calling Javascript method调用Javascript方法修改frame src
【发布时间】:2026-01-20 11:45:01
【问题描述】:

我有一个需求,需要通过调用 JavaScript 方法来修改 Frame src

src 标签内的字符串操作不起作用。

此代码有效:

<frame name="dashBoardLeftFrame" target="dashBoardContents" src="javascript:window.top.encodeURIComponent('blank.html')" >

但事实并非如此。我需要实现这一点。 :(

<frame name="dashBoardLeftFrame" target="dashBoardContents" src="requestDelegateAct.do?delegateAction=javascript:window.top.encodeURIComponent('blank.html')" />

最后我需要我的 src 是requestDelegateAct.do?delegateAction=(some encoded string)

【问题讨论】:

    标签: javascript html frame


    【解决方案1】:

    你可以这样做: 在 HTML 中将 src 留空

    <frame name="dashBoardLeftFrame" target="dashBoardContents" src="">
    

    并添加 JavaScript:

    var frame = document.getElementsByName("dashBoardLeftFrame")[0];
    frame.src = "requestDelegateAct.do?delegateAction=" + someEncodedString;
    

    【讨论】:

    • 实际上我需要在多个地方进行这种类型的更改.. 所以我希望如果我能在 src 本身内部做到这一点我会很棒。
    • 您可以在每次出现时向 HTML &lt;frame name="dashBoardLeftFrame" data-encodedstring="1234"&gt; 添加一个额外的属性,然后在 JavaScript 中使用该值。这会有帮助吗?
    【解决方案2】:

    看到这个http://influxhostserver.com/test.php可能对你有帮助

    <iframe id="iframe" src="http://www.w3schools.com"></iframe>
    
    <button id="change"  value="change" style="width:100px;height:100px" >Change</button>
    
    <head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js">
    </script>
    <script>
      $(document).ready(function(){
            $("#change").click(function(){
                $('#iframe').attr('src','test.php');
            });
        });
    </script>
    

    【讨论】: