我只是好奇为什么我的JavaScript无法运行(在Firefox和IE中测试)如果我写这样的<script>标签:
<script type="text/javascript" src="script.js"/>
Run Code Online (Sandbox Code Playgroud)
如果我将该行更改为:
<script type="text/javascript" src="script.js"></script>
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:为什么我无法关闭script开始标记中的标记,因为我内部没有任何内容.
我的JavaScript代码很简单,只需:
alert("test");
Run Code Online (Sandbox Code Playgroud)
注意:我检查firefox错误控制台,没有错误.
所以我想在我的Angular 2应用程序中包含一个外部JS库,一个旋转木马滑块.我已经看过很多教程,展示了如何添加它我已经成功完成了,但引用了index.html上的库.
如您所知,每次访问应用程序时都会加载库,无论他们是否访问需要轮播的组件.由于它非常大,我只想在需要的地方加载它,这是在一个延迟加载的模块中.
我没有尝试过,但我确信我可以在使用它的组件中查看脚本标记,但这对我来说感觉不对.
必须有正确的方法.它是什么!?
谢谢!
当我在HTML文档中使用此代码时,它正在工作:
$('a.tocenter[href*=#]').click( function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
&& location.hostname == this.hostname) {
var $target = $(this.hash);
$target = $target.length && $target || $('[name=' + this.hash.slice(1) +']');
if ($target.length) {
var targetOffset = $target.offset().top;
$('html,body').animate({ scrollTop: targetOffset - ( $(window).height() - $target.outerHeight(true) ) / 2 }, 1000);
return false;}
}
});
Run Code Online (Sandbox Code Playgroud)
如果我尝试将此代码放在外部JavaScript文件中,然后将其链接到:
<script src="js/main.js"></script>
Run Code Online (Sandbox Code Playgroud)
它不起作用,让它工作我必须把它包装进去:
$( window ).load(function() {
...
});
Run Code Online (Sandbox Code Playgroud)
如果我这样做有效.
我是JavaScript/jQuery的新手,这是正常的还是我做错了什么?为什么它表现得那样?这样做是一种好习惯吗?
在外部文件中使用它的唯一目的是保持代码清洁和易懂.
我有一个外部js文件,它有一个函数,意味着在文档正文加载后运行.这是我到目前为止所做的,但它不能正常工作.请帮忙.
外部JS文件
window.document.body.addEventListener('load', numOfSelects());
function numOfSelects()
{
var selects = document.getElementsByTagName('select');
alert(selects.length);
}
Run Code Online (Sandbox Code Playgroud)
调用此脚本的HTML文件确实有一些选择字段.警报有效,但显示为0.警报显示后,可以看到正文已加载.显然这不是我想要的.我究竟做错了什么?多谢你们.
我也试过这个:
仍然没有奏效.这是我的代码:
父文件
<html>
<head>
<title>File 1</title>
<script src='file1.js'></script>
</head>
<body>
<select id='dd1'><option>First</option><option>Second</option></select>
<select id='dd2'><option>First</option><option>Second</option></select>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
JS文件
alert('start');
window.document.body.addEventListener('load', function(){alert(document.getElementsByTagName('select').length)});
alert('stop');
Run Code Online (Sandbox Code Playgroud)
只有第一个警报显示.我觉得我在某个地方犯了一个非常愚蠢的错误.
我想将脚本添加到 jquery mobile 中的外部页面而不是 home 文件(调用 jquery mobile 的源代码)。这是我的两个文件的代码
index.php 里面的代码
<head>
<title>My Web Application</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0;" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<link rel="stylesheet" href="view/css/mobile.css" />
<link rel="stylesheet" href="view/css/reset.css" />
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
<script type="text/javascript" src="view/js/light.js"></script>
</head>
<body>
<div data-role="page" class="page">
<div data-role="header" id="index-header" data-theme="b">
<div id="logo">
<a href="#"><img src="view/images/Milan.png" alt="logo" height="80"></a>
</div>
</div>
<div id="color-bar"></div>
<div data-role="content">
<ul data-role="listview" data-inset="true" data-theme="b">
<li><a href="#" title="theme"><img src="view/images/1.png" />Security</a></li>
<li><a href="light.php" title="calendar"><img src="view/images/2.png" />Info</a></li> …Run Code Online (Sandbox Code Playgroud) 我使用externel javascript文件,我有这个,
function getdropdownvalue()
{
alert($("#<%=DLState.ClientID%>"));
}
Run Code Online (Sandbox Code Playgroud)
但它似乎没有得到我的dropdown的clientId ...任何建议......
external-js ×6
jquery ×3
html ×2
angular ×1
angular-cli ×1
clientid ×1
file ×1
javascript ×1
onload ×1
tags ×1