首先,我的意思是HTML中的一个元素的开始标记早于第二个元素的开始标记.
2个元素可以是完全随机的,可以是兄弟姐妹,或者可以是另一个元素的上升或后代.所以解决方案应该是一个带有2个随机DOM元素的函数,并检查哪个是DOM层次结构中的第一个.
这里可以看到这个问题:

它不适用于模拟ie7(ie9 - >开发人员工具).
我尝试了很多css设置,但可能不是所有的设置,因为我相信这个bug有一些解决方案.
我使用本指南安装了干净的Sitecore 6.6并启用了MVC支持.所以我的环境是Sitecore 6.6,ASP .NET MVC 3和Razor,Microsoft SQL Server Express 2012,IIS 7.5,我正在使用Microsoft Visual Studio 2012 Express for Web.我有以下代码:
@Model.PageItem.Fields["Title"];<br />
@Model.PageItem.Fields["Image"].GetValue(true, true);<br />
@Model.PageItem.Fields["Text"];<br />
Sitecore.Data.Items.MediaItem item = Model.PageItem.Fields["Image"].Item;
@Sitecore.StringUtil.EnsurePrefix('/', Sitecore.Resources.Media.MediaManager.GetMediaUrl(item));<br />
Run Code Online (Sandbox Code Playgroud)
结果很简单:
Sitecore
<image mediaid="{4DFD3ABC-0BC0-41D2-BD38-705946A1368A}" mediapath="/Images/xbox" src="~/media/4DFD3ABC0BC041D2BD38705946A1368A.ashx" />
<p>Welcome to Sitecore</p>
/sitecore/shell/~/media/110D559FDEA542EA9C1C8A5DF7E70EF9.ashx
Run Code Online (Sandbox Code Playgroud)
当我导航到最后一行中指定的路径时,我得到以下错误:
HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
Run Code Online (Sandbox Code Playgroud)
我试了几件事,例如:
在这段代码中,我定义了两个函数,将它们及其字符串表示形式输出到控制台,并对它们进行比较:
var a = function func() {},
b = function func() {};
// string representations are equal
console.log(a.toString());
console.log(b.toString());
console.log(a.toString() == b.toString());
console.log(a.toString() === b.toString());
// functions seem to be equal
console.log(a);
console.log(b);
// but they're not really as this prints false
console.log(a == b);
console.log(a === b);
Run Code Online (Sandbox Code Playgroud)
为什么它们不相等?
当然,空的普通对象也会发生同样的情况,即{}.
但有趣的是,lodash在这种情况下isEqual返回:在这种情况下:。当然这不是什么证明,只是平等的实现方式。true_.isEqual({}, {});false_.isEqual(function () {}, function () {})