gpt4 book ai didi

Javascript包含动态SRC技术="url"

转载 作者:行者123 更新时间:2023-11-28 08:35:33 26 4
gpt4 key购买 nike

是否可以(并且是一个好主意)通过哈希 URL 将动态数据传递到 JavaScript 包含文件?

如:

<head> <script src="scripts.js#x=123&y=456"></script> </head>

我正在寻找动态构建页面中内联 js 的替代方案:

<head> 
<script src="scripts.js#x=123&y=456"></script>
<script>
$( document ).ready(function() {
pageInit(123, 456)
});
</script>
</head>

避免内联 js 是个好主意吗?如何在不使用创建不必要的往返网络请求的 ajax 的情况下传递动态数据?

注意: hash bang url 很特殊,因为浏览器在检查缓存时会忽略 url 的哈希部分。至少对于 html 文件来说是这样。

所以所有这些都将重用缓存中的index.html文件:

index.html
index.html#x=123
index.html#x=345345
index.html#x=2342&y=35435

同样的原则也适用于 javascript 文件。我希望实现的是在页面之间重用 script.js 的缓存版本。

转到index.php,包含以下内容:

<head> <script src="scripts.js#x=123&y=456"></script> </head>

然后去 fun.php 包含这个

<head> <script src="scripts.js#x=898756465&y=5678665468456"></script> </head>

然后去see.php包含这个

<head> <script src="scripts.js#session=887987979&csrf_token=87965468796"></script> </head>

从一个页面 View 到另一个页面 View ,通过 hash bang 传递页面所需的任何信息,同时重用缓存中的 scirpt.js。

那么,是否可以从 scirpts.js 中读取哈希爆炸信息?

最佳答案

如果您要创建的 HTML 文件是动态的,则只需创建内联 JavaScript。编写包含只会创建来自浏览器的额外请求,您可以首先避免这种情况。

编辑:只需包含一个读取 URL 的 JavaScript 文件,您不需要传递任何变量(当然,您也可以):

$(document).ready(function() {
// pseudo code
hashbang = location.href.substr(location.href.indexOf('#') + 1);
if (hashbang.x && hashbang.y) {
pageInit(hashbang.x, hashbang.y);
} else if (hashbang.csrf_token) {
// do something else
}
});

关于Javascript包含动态SRC技术="url",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21262802/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com