如果尝试呈现的其中一个字符为空,IE将停止呈现HTML(0x00)

时间:2011-08-08 20:13:42

标签: ruby-on-rails internet-explorer

IE 7和9有一些渲染问题(未测试8,但它的工作原理相同)

所以...我有文字: fe217" ; 0d83427d421

或者也许这是SequelPro生成的一些表示(MySQL工作台不显示它)

但是,基本上,它会阻止呈现页面的其余部分。一切都被渲染,直到它击中这个文本。 (再次只在IE中)

现在,在我的rails应用程序中,生成包含此字符串炸弹的文本的代码片段如下所示:

 def category_form_filter(form, type, display_text) 
    form.collection_select(:category_id_equals, 
          current_account.categories.all, "id", "name", :label=>false)
  end 

然后使用以下命令生成IE中断的其他代码:

<a><%= in_place_editor_field :category, :name, {}, {:external_control => "edit_#{category.id.to_s}", :cancelText => ""} %> </a>

所以...这两种方法正在做的事情适用于非IE浏览器但不适用于IE。也许IE需要额外的逃避?

编辑:当我将文本粘贴到stackoverflow中,然后点击subit我的问题时,它说我的问题的主体是空的。然后在字符串的前面添加了一个问题菱形。这是怎么回事?

EDIT2:我发现了一个可能有帮助的转换器:
编码百分比:%00fe217%22%3B0d83427d421
Hex代码:0000 0066 0065 0032 0031 0037 0022 003B 0030 0064 0038 0033 0034 0032 0037 0064 0034 0032 0031
JS Escapes \ 0fe217 \“; 0d83427d421

似乎第一个字符为空(0000)。这可能是打破IE的原因。 = \

EDIT3:改变了标题

0 个答案:

没有答案