我正在为tinymce编辑器构建一个插件,它为选定的文本添加了一些微数据,我想确保最终的标记是有效的.作为指定由微数据草案规范,一个新的项目是通过将属性中指示itemscope的元素,例如:
<section itemscope itemtype="http://example.com/vocab/someobject" itemid="someid" >
<meta itemprop="topic" content="something very interesting" />
....
other microdata stuff
</section>
Run Code Online (Sandbox Code Playgroud)
我已经扩展了tinymce的配置参数来识别这些微数据属性:
tinyMCE.init({
...
schema: "html5",
extended_valid_elements:"@[itemscope|itemtype|itemid|itemprop|content],div,span,time[datetime]"
...
});
Run Code Online (Sandbox Code Playgroud)
事情一般都在发挥作用.但是,当我使用插件时,微小的mce仍然通过向itemscope属性添加一个空值来"纠正"我的标记,如下所示:itemscope="".但是itemscope属性是一个布尔元素,AFAIU意味着它应该没有值.
所以问题是,a)如果itemscope属性有值,它仍然是有效的标记吗?和b)如果没有,(怎么样)我可以配置tinymce将itemscope作为一个合适的布尔属性,而不是附加=""位?
谢谢!
我正在localhost上开发一个Django项目,其中包含一些包含在base.html模板中的JavaScript文件.我的JavaScript包含在页面底部:
... other stuff...
<script src="/media/js/jquery.js" type="text/javascript"></script>
<script src="/media/js/jquery-ui-1.9.1.custom.js" type="text/javascript"></script>
<script src="/media/js/bootstrap.js" type="application/javascript"></script>
<link rel="stylesheet" href="/media/css/pepper-grinder/jquery-ui-1.9.1.custom.css" />
{% block extrajs %}
{% endblock %}
</body>
Run Code Online (Sandbox Code Playgroud)
有时,但令人沮丧的是,并非总是,当我加载或刷新页面时,其中一个JavaScript文件的GET请求失败.有时它是jquery-ui的请求,有时它是jQuery本身的,有时它是bootstrap.js.如果我将网址直接粘贴到浏览器中,则JavaScript文件加载完全正常,因此我的媒体网址不会出现问题.
在Chrome中,如果我单击控制台错误并查看网络选项卡,则状态显示为"(失败)",类型显示为"待处理".请求标头似乎表明请求实际上没有失败,它根本就没有完成.
Request URL:http://localhost:8111/media/js/jquery-ui-1.9.1.custom.js
Request Headersview source
Accept:*/*
Cache-Control:no-cache
Pragma:no-cache
Referer:http://localhost:8111/reservation/create/
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4
Run Code Online (Sandbox Code Playgroud)
最后,在Firefox中加载页面不会产生错误,但会显示JavaScript文件的响应返回304.
这是我如何服务我的静态媒体的问题(除了通常的静态媒体设置之外没什么特别的)?用Chrome?我该如何解决这个问题?