当前位置: 首页 > 面试题库 >

当它们具有源代码时,使用HTML脚本标记进行编码

薛文斌
2023-03-14
问题内容

我注意到该<script src="..."></script>标记不允许您在其中使用JavaScript,例如:

<script src="myFile.js">
    alert( "This is a test" );
</script>

而且这不起作用,也不会在FireBug中引发错误,这是为什么发生,为什么我们必须添加额外的<script>标签以允许在表单本身上使用JS?

我有一个文件script/addScript.js从我的根目录中找到@ ,其中包含:

function addScript( $src )
{
    var script = document.createElement( 'script' );
    script.type = "text/javascript";
    script.src = $src;
    document.getElementsByTagName( 'head' )[0].appendChild( script );
}

这样做的目的是使我可以快速有效地将脚本添加到DOM,因此我尝试这样做:

<script src="script/addScript.js">
    addScript( "script/obj.js" );
    addScript( "script/home/login.js" );
</script>

但这没有用,所以我必须这样做:

<script>
    addScript( "script/obj.js" );
    addScript( "script/home/login.js" );
</script>

问题答案:

脚本元素加载单个脚本。

它可以做到这一点,无论是从URL或内联,但它仍然加载 一个 脚本,所以它不能两者都做。

如果您尝试同时执行这两种操作,则内​​联脚本将被忽略:

<script src="example.js">
    this_is_ignored();
</script>

…因此您需要多个脚本元素。

<script src="example.js">
</script>
<script>
    this_is_NOT_ignored();
</script>

值得注意的是script元素的内容仍将存在于DOM中,因此有人用它来存储数据,该数据将被src引用的JS读取。data-*属性(可以说)是一种更清洁的方法。



 类似资料:
  • 问题内容: 假设我有这样的类(用打字稿编写),并将其与webpack捆绑在一起。 在我的index.html中,我将包含该捆绑包,但随后我也想调用该静态方法。 但是,在这种情况下,未定义。那我该如何从另一个脚本中调用捆绑的javascript? 问题答案: 看来您想将webpack捆绑包公开为一个库。您可以将webpack配置为在自己的变量(如)中在全局上下文中公开您的库。 我不知道TypeScr

  • 如果我从终端uvicorn main:app运行--重新加载一切工作。 当把它放在my_script.sh文件中时 然后什么都没发生。为什么? 我发现了这个:Uvicorn/FastAPI可执行文件,但似乎没有答案。

  • 我使用的是WYSIWYG编辑器,但在将数据发送到数据库后,它会显示html标记,就好像它们是文本的一部分一样。我用的是Laravel 5和这个净化器。我不知道这是否是相对的,但在WYSIWYG编辑器中从数据库输出数据后,html标记仍然显示为文本。提前谢谢你的帮助。

  • 我有一个名称空间如下所示的XML响应: 方法:groovy.util.xmlslurper.parse()的签名不适用于参数类型:(groovy.util.node)值:[{http://schemas.xmlsoap.org/soap/envelope/}信封[attributes={};value=[{http://schemas.xmlsoap.org/soap/envelope/}head

  • 我想通过Selenium获得一个本地html源代码。 但是,会发生此错误。 packages/selenium/webdriver/remote/webdriver.py“,第333行,在get self.execute(command.get,{'url':url})文件”/users/seula/miniconda3/lib/python3.7/site-packages/selenium/w

  • 有没有办法修复HTML验证错误?同时继续使用SVG作为标记的源代码? 我的源代码: