1

我花了几个小时阅读 javascript 书籍、模式和查看 stackoverflow 问题,但我一直坚持将某些内容动态加载到 iframe 中

目标单击一个按钮,(1) ajax 发布到temp.php数据(例如 src、高度、宽度、id)。(2)temp.php设置 iframe 并返回相应的 html。(3) Javascript 预置数据。

这是我到目前为止的相应代码

(1)

$.ajax({
           type:"POST",
           data:{
                 'src':"target.php",
                 'frame_height':$(".mydiv").height(),
                 'frame_width':$(".mydiv").width()
           },
           url:"temp.php",
           success:function (inHtml) {
                 loadConversation(inHtml, 

我已经将 POST 变量加载到相应的 php 变量中。(2)

<iframe id="myTestFrame" src="<?php echo $src; ?>" width="<?php echo $width; ?>"
    height="<?php echo $height; ?>" frameborder="0">
<p>Your browser does not support iframes.</p>

(3) $('.mydiv').prepend(inHtml);

请假设语法正确。

target.php确实运行了一个初始化滚动插件的简单javascript代码:

$(function () {

    var Scroll = (function () {

        var  init = function () {

             $("#content-1").mCustomScrollbar({});

             $(".inner_content").mCustomScrollbar({autoDraggerLength:true});                      

             $(".output a[rel~='_mCS_1_scrollTo']").click(function (e) {
                 e.preventDefault();
                 $("#content-1").mCustomScrollbar("scrollTo", $(this).attr("href"));
             });
             };

        return { init:init };

    })();

    Scroll.init();
});

现在发生的事情是我可以直接从网络服务器调用 temp.php 并且它会正确加载。

预期的

但是一旦从主站点调用它 - 它就会中断(并且“未定义”启动)

在主站点坏了

我已经完成了相同的 iframe 帖子,然后使用另一个带有插件的 php 页面动态更新 src 并且它工作正常(单击时相同,ajax 帖子, prepend(html) ,我完全迷路了)。主站点在 jquery UI 的选项卡式界面中运行它,但我认为这没有任何区别 - 到目前为止我发现如果我在 init 中插入一个简单的“alert(document.height)”函数,警告框将包含 0,所以我认为 javascript 在 iframe 完成加载之前运行 - 但 Firebug 显示 NET 中的响应 HTML 非常好,代码相当短。(脚本放在右大括号之前的最后一个)

4

0 回答 0