为什么JavaScript总是被分解成单独的<;脚本>;部分? 副本
下面是从UserVoice截取的一段代码,以便将他们的标签贴在我的网站上(这不是UserVoice特有的,但是,我一直看到这种情况):为什么JavaScript总是被分解成单独的<;脚本>;部分? 副本,javascript,html,Javascript,Html,下面是从UserVoice截取的一段代码,以便将他们的标签贴在我的网站上(这不是UserVoice特有的,但是,我一直看到这种情况): var uservoiceJsHost=(“https:==document.location.protocol”)?"https://uservoice.com" : "http://cdn.uservoice.com"; write(unescape(“%3Cscript src=”+uservoiceJsHost+”/javascripts/widget
var uservoiceJsHost=(“https:==document.location.protocol”)?"https://uservoice.com" : "http://cdn.uservoice.com";
write(unescape(“%3Cscript src=”+uservoiceJsHost+”/javascripts/widgets/tab.js'type='text/javascript'%3E%3C/script%3E”))
UserVoice.Tab.show({
关键词:“维基百科迷宫”,
主持人:“wikipediamaze.uservoice.com”,
论坛:"将军",,
对齐方式:“右”、“左”、“右”*/
背景颜色:“#94C97B”,
文本颜色:“白色”、“白色”、“黑色”*/
悬停颜色:“#7AA1C5”,
lang:'en'/*'en'、'de'、'nl'、'es'、'fr'*/
})
怎么能把这些都塞进一个脚本标签,然后放到一个单独的文件中呢?每次我试着这么做,都没用。谷歌广告也做同样的事情。为什么有两个单独的脚本声明?JavaScript在加载时会被执行,因此脚本在页面上的位置可能有一些重要性。这实际上取决于页面和脚本
此外,web组件和库有自己的脚本是很常见的,因此如果一个页面上有许多组件,它们都可以为各自的脚本使用单独的脚本标记。在这种情况下,至少对我来说,它读起来更好。第一个脚本标记是从服务器动态加载脚本。第二个script标记实际上正在做这项工作。将第一个脚本看作是一种动态的执行方式,您可能会理解为什么是这种方式。查看第一个脚本标记中的代码,它正在向页面写入另一个脚本标记。第二个脚本标记中的代码使用的函数位于由书面脚本标记加载的文件中,因此它必须位于单独的标记中,因为在执行第一个代码之前不会加载文件
您可以将脚本放在单独的文件中,但是您仍然需要使用两个单独的脚本标记加载它们,因为第一个脚本必须在第二个脚本加载之前执行。一些脚本可能会作为页面的一部分动态生成。我想我几天前就看到了确切的问题。我想这也有技术原因。
<script type="text/javascript">
var uservoiceJsHost = ("https:" == document.location.protocol) ? "https://uservoice.com" : "http://cdn.uservoice.com";
document.write(unescape("%3Cscript src='" + uservoiceJsHost + "/javascripts/widgets/tab.js' type='text/javascript'%3E%3C/script%3E"))
</script>
<script type="text/javascript">
UserVoice.Tab.show({
key: 'wikipediamaze',
host: 'wikipediamaze.uservoice.com',
forum: 'general',
alignment: 'right', /* 'left', 'right' */
background_color: '#94C97B',
text_color: 'white', /* 'white', 'black' */
hover_color: '#7AA1C5',
lang: 'en' /* 'en', 'de', 'nl', 'es', 'fr' */
})
</script>