当从书签执行js代码段时,为什么所有样式都会丢失?

新王

阅读网页时,我需要页面内编辑器来做笔记,所以我写了一些JavaScript代码段:

document.body.innerHTML+="<div style='position:fixed;\
top:10px;right:10px;width:300px;height:50%;background:#ccffcc;\
z-index:9999'><p contenteditable='true' style='font-size:150%;\
width:100%;height:100%'></p></div>";

在我正在阅读的页面上添加浮动编辑器。

当我在Chrome的控制台中执行此操作时,一切正常。但是,当我添加书签:javascript:[the-above-js-code]并从书签栏中单击它时,所有css均已从页面中消失。

怎么了?我应该怎么做才能避免这种情况?

编辑:当我将代码段更改为:

var frag = document.createDocumentFragment();
var myDiv = document.createElement("div");
myDiv.innerHTML="<div style='position:fixed;top:10px;right:10px;width:300px;height:50%;background:#ccffcc;z-index:999'><p contenteditable='true' style='font-size:150%; width:100%;height:100%'></p></div>";
frag.appendChild(myDiv);
document.body.appendChild(frag);

它可以在小书签中使用。看起来如果我重写主体的innerHTML,则不应用样式表。但这仍然让我感到困惑,为什么第一个代码段可以在Chrome控制台中使用。

编辑:我不知道为什么,但是在我把它附加到书架上之后,它就可以了。

void(0);
基里苏

之所以有效,是因为javascript:URL将使浏览器呈现表达式的结果。第一个脚本的结果就是没有任何CSS的纯HTML(它也没有遵循任何外部链接)。

您可以通过javascript:x = 'hello'在地址栏中执行来测试它

当您的脚本返回undefined(void(0)会这样做时,行为会有所不同在这种情况下,浏览器将不会重定向到新的内容,所以都javascript:x = 'hello';void(0);javascript:x = 'hello';return undefined;什么也不做。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在添加figcaption时所有样式都会出错?

来自分类Dev

从word转换为pdf时,为什么某些样式/标题会从书签中排除

来自分类Dev

安装jQuery-UI会丢失所有样式表,我做错了什么?

来自分类Dev

在PT_GNU_STACK程序头上设置执行位时,为什么进程的所有段都变为可执行的

来自分类Dev

为什么我的PopupMenu没有样式?

来自分类Dev

为什么theme.res文件中的所有样式都将边框模式设置为仅顶部?

来自分类Dev

为什么外部有样式表比内部有更好的样式表?除了重用

来自分类Dev

获取所有样式属性颜色

来自分类Dev

Angular 2绑定所有样式

来自分类Dev

为什么仅单击一个链接时所有链接都会更改颜色?

来自分类Dev

为什么我所有的jQuery mobile .on()指令都会在页面加载时自动触发?

来自分类Dev

当我打开导航栏时,为什么所有页面都会移动?

来自分类Dev

在计算UITableViewCell高度时,自动布局会忽略多行detailTextLabel(所有样式)

来自分类Dev

为什么没有样式在此p上起作用?

来自分类Dev

语义 UI 反应 | 为什么我的按钮没有样式?

来自分类Dev

当所有使用的类型都是事先已知的时,为什么此代码段会导致“对不确定类型的对象进行查找...”?

来自分类Dev

为什么更改其中之一时所有Word.Range对象都会更改?

来自分类Dev

为什么当只单击一个下拉按钮时,所有其他下拉按钮都会删除其菜单?

来自分类Dev

为什么更改其中之一时所有Word.Range对象都会更改?

来自分类Dev

当我更改一个菜单的值时,为什么我的所有 tkinter 选项菜单都会更新?

来自分类Dev

为什么所有样本的神经网络输出都相同

来自分类常见问题

从文本区域删除所有样式(边框,发光)

来自分类Dev

如何清除子元素中的所有样式?

来自分类Dev

清除所有样式(带标题的标题除外)

来自分类Dev

为什么我的阵列突然丢失了所有内容

来自分类Dev

为什么每次我编写代码时XCode 7.1都会编译代码?

来自分类Dev

当密码具有所有必需的前提时,为什么我的代码不打印密码?

来自分类Dev

为什么当我输入这个 powershell 代码时它没有被执行?

来自分类Dev

当您可以通过POST执行所有操作时,为什么还要使用REST API?

Related 相关文章

  1. 1

    为什么在添加figcaption时所有样式都会出错?

  2. 2

    从word转换为pdf时,为什么某些样式/标题会从书签中排除

  3. 3

    安装jQuery-UI会丢失所有样式表,我做错了什么?

  4. 4

    在PT_GNU_STACK程序头上设置执行位时,为什么进程的所有段都变为可执行的

  5. 5

    为什么我的PopupMenu没有样式?

  6. 6

    为什么theme.res文件中的所有样式都将边框模式设置为仅顶部?

  7. 7

    为什么外部有样式表比内部有更好的样式表?除了重用

  8. 8

    获取所有样式属性颜色

  9. 9

    Angular 2绑定所有样式

  10. 10

    为什么仅单击一个链接时所有链接都会更改颜色?

  11. 11

    为什么我所有的jQuery mobile .on()指令都会在页面加载时自动触发?

  12. 12

    当我打开导航栏时,为什么所有页面都会移动?

  13. 13

    在计算UITableViewCell高度时,自动布局会忽略多行detailTextLabel(所有样式)

  14. 14

    为什么没有样式在此p上起作用?

  15. 15

    语义 UI 反应 | 为什么我的按钮没有样式?

  16. 16

    当所有使用的类型都是事先已知的时,为什么此代码段会导致“对不确定类型的对象进行查找...”?

  17. 17

    为什么更改其中之一时所有Word.Range对象都会更改?

  18. 18

    为什么当只单击一个下拉按钮时,所有其他下拉按钮都会删除其菜单?

  19. 19

    为什么更改其中之一时所有Word.Range对象都会更改?

  20. 20

    当我更改一个菜单的值时,为什么我的所有 tkinter 选项菜单都会更新?

  21. 21

    为什么所有样本的神经网络输出都相同

  22. 22

    从文本区域删除所有样式(边框,发光)

  23. 23

    如何清除子元素中的所有样式?

  24. 24

    清除所有样式(带标题的标题除外)

  25. 25

    为什么我的阵列突然丢失了所有内容

  26. 26

    为什么每次我编写代码时XCode 7.1都会编译代码?

  27. 27

    当密码具有所有必需的前提时,为什么我的代码不打印密码?

  28. 28

    为什么当我输入这个 powershell 代码时它没有被执行?

  29. 29

    当您可以通过POST执行所有操作时,为什么还要使用REST API?

热门标签

归档