如何在index.html文件中为脚本导入src

时间:2019-02-13 20:57:34

标签: javascript html

当前在我的index.html文件中,我具有以下脚本行:

<script src="https://maps.googleapis.com/maps/api/js?key=MY_KEY&libraries=places"></script>

是否可以提取src变量并将其作为变量导入脚本中?我尝试使用位于外部xsl:variable这样的文件中的variable.xsl

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:variable name="google" select="API_KEY"></xsl:variable>

</xsl:stylesheet>

然后尝试将其导入到我的脚本中,

<xsl:include href="variable.xsl"/>
<script src="{$google}"></script>

但是,即使xls:variable在同一个文件中,脚本源也不起作用。

我想将我的代码发布到公共仓库中,这就是为什么我想隐藏密钥。

2 个答案:

答案 0 :(得分:1)

希望这是您要寻找的答案,只需使用JQuery,您就可以动态添加src属性

HTML

<script id="googleAPI">

注意,我们在脚本元素上设置了一个ID

JavaScript

let url = "https://maps.googleapis.com/maps/api/js?key=MY_KEY&libraries=places"
$("#googleAPI").attr("src", url)

答案 1 :(得分:1)

您不能隐藏客户端的某些内容,而只能对其进行模糊处理(使其变得更难看)。如果您使用xsl文件,则可以发出请求,并看到,如果您设置了动态创建脚本,则可以打开“网络”选项卡,查看请求的去向。如果要隐藏密钥:

  • 从您自己的服务器向"https://maps.googleapis.com/maps/api/js?key=MY_KEY&libraries=places"发出请求
  • text/plain的形式获取内容,或将其转换为dataURl,然后将其发送到客户端,在其中创建script标签并设置textContent,{{1 }},或从innerHTML创建对象网址(服务器响应作为Blob部分)并设置src等。