Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery iframe之后的HTML被忽略_Jquery_Html_Spring_Iframe_Jstl - Fatal编程技术网

Jquery iframe之后的HTML被忽略

Jquery iframe之后的HTML被忽略,jquery,html,spring,iframe,jstl,Jquery,Html,Spring,Iframe,Jstl,我目前被困在一个看起来很像第一手资料的问题上,但是这个问题的解决方案在我的案例中不起作用 我有一个tagx,其中有一个iframe,我在其中使用jQuery将src属性设置为特定值,具体取决于单击的超链接。标签由一个jspx文件嵌入,该文件主要由一个springform组成。除了直接写在iframe下面的代码没有在浏览器中显示(在Firefox和Chrome中进行了测试,不确定是否适用于其他浏览器)之外,一切都运行得很好。即使是在标记正下方的jspx中编写的代码(将标记嵌入iframe)也没有显

我目前被困在一个看起来很像第一手资料的问题上,但是这个问题的解决方案在我的案例中不起作用

我有一个tagx,其中有一个iframe,我在其中使用jQuery将src属性设置为特定值,具体取决于单击的超链接。标签由一个jspx文件嵌入,该文件主要由一个springform组成。除了直接写在iframe下面的代码没有在浏览器中显示(在Firefox和Chrome中进行了测试,不确定是否适用于其他浏览器)之外,一切都运行得很好。即使是在标记正下方的jspx中编写的代码(将标记嵌入iframe)也没有显示

containerCreator.jspx:

<div xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:form="http://www.springframework.org/tags/form"
    xmlns:jsp="http://java.sun.com/JSP/Page"
    xmlns:roo="urn:jsptagdir:/WEB-INF/tags"
    xmlns:olo_elem="urn:jsptagdir:/WEB-INF/tags/olo/admin/element"
    xmlns:spring="http://www.springframework.org/tags" 
    id="elementen_base"
    version="2.0">

    <spring:url value="/admin/element/saveContainerElementBean" var="save"/>
    <form:form action="${save}" method="POST" modelAttribute="containerElementBean">
        <input type="submit" value="sla op"/>
        <olo_elem:containerCreator path="${path}" containerId="${id}"/>
        <p>I'm not visible</p>
    </form:form>
</div>

我看不见

containerCreator.tagx:

<jsp:root xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:fn="http://java.sun.com/jsp/jstl/functions"
    xmlns:jsp="http://java.sun.com/JSP/Page"
    xmlns:form="http://www.springframework.org/tags/form"
    xmlns:olo_elem="urn:jsptagdir:/WEB-INF/tags/olo/admin/element"
    xmlns:spring="http://www.springframework.org/tags" version="2.0">

    <jsp:directive.attribute name="containerId" type="java.lang.Long"   required="false" description="id van de container die wordt bevat, null indien nog geen container is gebonden" />
    <jsp:directive.attribute name="path"        type="java.lang.String" required="false" description="pad waarin het id van een nieuw containerelement wordt gezet"/>

    <spring:url value="/admin/element/editContainer/${containerId}" var="existingLink" />
    <spring:url value="/admin/element/newContainer"                 var="newLink" />

    <script type="text/javascript">
        function openExisting(){
            $('#editor').attr('src', '${existingLink}');
            $("#editor").show();
        }

        function openNew(){
            $('#editor').attr('src', '${newLink}');
            $("#editor").show();
        }

        $(document).ready(function(){
            $("#editor").hide();
        });
    </script>

    <c:choose>
        <c:when test="${not empty id}">
            <a onclick="javascript: openExisting()">Bewerk ContainerElement</a>
        </c:when>
        <c:otherwise>
            <c:choose>
                <c:when test="${not empty path}">
                    <input type="hidden" name="${path}" id="path" value=""/>
                    <a onclick="javascript: openNew()">Maak ContainerElement</a>
                </c:when>
                <c:otherwise>
                    Error: Geef containerId of tag op!
                </c:otherwise>
            </c:choose>
        </c:otherwise>
    </c:choose>

    <iframe id="editor" style='width: 800px; height: 800px' name="iframeId" frameborder="0"> </iframe>
    <p>I'm not visible</p>
</jsp:root>

函数openExisting(){
$('#editor').attr('src','${existingLink}');
$(“#编辑器”).show();
}
函数openNew(){
$('#editor').attr('src','${newLink}');
$(“#编辑器”).show();
}
$(文档).ready(函数(){
$(“#编辑器”).hide();
});
贝维克集装箱运输公司
马阿克集装箱运输公司
错误:Geef tag op的集装箱ID!
我看不见


您需要做的是在iframe标记之间插入注释。某些浏览器不允许使用空标记。在这些标记中插入注释可能会解决您的问题。请参见下面的示例:

    <iframe id="editor" style='width: 800px; height: 800px' name="iframeId" frameborder="0"><!-- //required for browser compatibility --></iframe>
    <p>I am visible!</p>
</jsp:root>

我看得见


这件事发生在我身上,发生在嵌入
dom的youtube上

<iframe id="ytplayer" type="text/html" width="640" height="390"
    src="http://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1&origin=http://example.com"
    frameborder="0"/>

诀窍是添加一个结束标记,而不是一个自动结束标记:

<iframe id="ytplayer" type="text/html" width="640" height="390"
    src="http://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1&origin=http://example.com"
    frameborder="0"></iframe>

在iframe中添加一些文本,它会起作用

<iframe id="ytplayer" type="text/html" width="640" height="390"
    src="http://www.youtube.com/embed/M7lc1UVf-VE?autoplay=1&origin=http://example.com"
    frameborder="0">some text</iframe>
一些文本

插入注释确实解决了我的问题。然而,事实证明,不是浏览器不允许空标记,而是Spring将空标记()优化为其速记版本(),并且大多数浏览器不喜欢iframe标记的速记版本(以及其他一些标记)。