是否可以将字符串从一个 .js 传递到另一个 .js 文件?例如,main.html 包含 javascript。我需要将一个字符串从 main.html 传递到另一个 HTML 文件,该文件在运行时加载一个 javascript 文件。这可能吗?
3 回答
如果您正在加载一个全新的页面(page1.html),则不可能将变量直接从一个 JS 文件传递到另一个(如果您在两个 html 页面中加载完全相同的 JS 文件,也不可能)。
但是你为什么不把你的绳子塞进饼干里呢?根据您必须迎合的浏览器,您还可以选择 localStorage/SessionStorage。最后但同样重要的是,始终可以选择在您的请求 URL (page1.html?mystring=foo) 中传递一个变量,然后通过 Javascript 访问它。
您可以更改指向下一页的链接的 href 以添加查询字符串。从那里您的 javascript 可以获取正在使用的 URL,解析您传递的值并使用您想要的值进行初始化。
通常这可以通过引用 window.location 来完成,但您也可以添加一个元素,然后您的新页面的 URL 看起来像http://www.yourdomain.com/page2.html?query_parameter=your_desired_string 大多数现代浏览器如果输入字段与查询字符串参数具有相同的名称,我的经验将自动填充它。从那里,您在第二页上的 javascript 可以从隐藏的输入元素中获取值,以获取您想要从一页到下一页的字符串。
如果您使用 + 符号可能会有一些困难,我已经看到一些浏览器在遇到 URL 时将 + 解释为空格。在将您想要的字符串发送到查询字符串之前,您必须转义 + 以获得真正的 +。
我只需将值放入 cookie 中并引用该值来初始化第二个 javascript 文件中的字符串。