将 jQuery 与 Google Chrome 应用程序而非 Chrome 扩展程序一起使用
Posted
技术标签:
【中文标题】将 jQuery 与 Google Chrome 应用程序而非 Chrome 扩展程序一起使用【英文标题】:Using jQuery with Google Chrome Apps not Chrome Extensions 【发布时间】:2013-08-15 21:00:12 【问题描述】:我需要一些帮助来将 jQuery 库包含到 google chrome 应用程序中。我找到了一些关于 google 扩展的帮助。但我没有找到任何关于 google chrome 应用程序的帮助。我认为它必须通过 manifest.json 文件完成......但我很难让它工作......
my main.js file
chrome.app.runtime.onLaunched.addListener(function()
chrome.app.window.create('index.html',
bounds:
width: 1200,
height: 800
);
);
我的 manifest.json 文件
"manifest_version": 2,
"name": "eLiteLAB",
"version": "1",
"app":
"background":
"scripts": ["main.js"]
,
"content_scripts": [
"css": ["css/jquery-ui-1.10.0.custom.css","css/index.css"],
"js": ["./js/jquery-1.9.0.js","js/jquery-ui-1.10.0.custom.min.js","js/mainApp.js"]
]
我的索引文件
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>elite Labs</title>
<link href="css/index.css" rel="stylesheet" type="text/css">
<link href="css/jquery-ui-1.10.0.custom.css" rel="stylesheet" type="text/css">
<script language="javascript" src="js/jquery-1.9.0.js" type="text/javascript"></script>
<script language="JavaScript" src="js/jquery-ui-1.10.0.custom.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(e)
$('#uoperatorselect').hide();
$('#login').button().click(function(e)
$.post('../scripts/login/controller.php',$('#loginform').serialize(),function(w)
if(w=='Fail')
alert('Login Failed, Please contact your administrator @ 9848622259');
else
if(w=='Admin')
$('#uloginscreen').hide();
$('#uoperatorselect').show("slide", direction: "right" , 1000);
else
window.location.href = w;
);
);
$('#back').button().click(function(e)
$.post('../scripts/login/controller.php',lAction : 'Logout', function(e)
$('#uoperatorselect').hide();
$('#uloginscreen').show("slide", direction: "left" , 1000);
);
);
$('#go').button().click(function(a)
var cnt = $('input:checked').length;
if(cnt == 1)
if($('.udiv1 > input:checkbox:checked').attr('redir') == 'N')
alert('Redirection not setup for this option');
else
window.location.href = $('.udiv1 > input:checkbox:checked').attr('redir');
if((cnt > 1) || (cnt == 0))
alert('You have to select one and only one option');
return false;
);
);
</script>
</head>
<body>
<div class="wrapper">
<div class="container" class=" ui-corner-all">
<div id="uholder" class=" ui-corner-all">
<div id="uloginscreen" class=" ui-corner-all">
<div class=" ui-corner-all">
<img id="elimg" src="images/elitelab.jpg" />
<form id="loginform" enctype="multipart/form-data" action="../scripts/login/controller.php" method="post">
<fieldset>
<legend>User Credentials</legend>
<input type="hidden" name="lAction" value="Login"/>
<label for="userid" class="ulabel">Userid</label>
<input type="text" name="userid" id="usrid" class="uinput ui-corner-all" />
<label for="password" class="ulabel">Password</label>
<input type="password" name="password" id="pwd" class="uinput ui-corner-all" />
<a href="#" class="elButton" id="login">LogIn</a>
</fieldset>
</form>
</div>
</div>
<div id="uoperatorselect">
<div class=" ui-corner-all">
<img id="elimg" src="images/elitelab.jpg" />
<form id="redirectform" enctype="multipart/form-data" action="../scripts/login/controller.php" method="post">
<fieldset>
<legend>Admin Selection</legend>
<input type="hidden" name="lAction" value="Login" />
<div class="udiv1">
<input type="checkbox" name="operatorscreen" class="ucheckboxes" redir='../../users/operator/' />
<label for="operatorscreen" class="ucheckboxeslbls">Login as Operator</label>
</div>
<div class="udiv1">
<input type="checkbox" name="operatorscreen1" class="ucheckboxes" redir='../../users/dealer/' />
<label for="operatorscreen1" class="ucheckboxeslbls">Login as Dealer</label>
</div>
<div class="udiv1">
<input type="checkbox" name="operatorscreen2" class="ucheckboxes" redir='../../users/partner/' />
<label for="operatorscreen2" class="ucheckboxeslbls">Login as Partner</label>
</div>
<div id="uoptiondiv">
<a href="#" class="elButton" id="back">Back</a>
<a href="#" class="elButton" id="go">Go</a>
</div>
</fieldset>
</form>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
如果您注意到我有一些 jquery 代码并且没有执行...
【问题讨论】:
用您的代码编辑您的问题!什么不工作?让我们看看你有什么。 请告诉我你的想法...... 【参考方案1】:从你的代码很难说(当然),
但很明显,jquery-1.9.0.js
和 mainApp.js
有不同的路径:-)
我说的是manifest.json
中的一个点:
"js": [
"./js/jquery-1.9.0.js",
"js/jquery-ui-1.10.0.custom.min.js",
"js/mainApp.js"
]
【讨论】:
以上是关于将 jQuery 与 Google Chrome 应用程序而非 Chrome 扩展程序一起使用的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 jquery 访问通过 google chrome 内容脚本注入的 iframe 的内容
Google Chrome Jquery onSelect 无法运行
如何在 Google Chrome 的 Greasemonkey 脚本中使用 jQuery?
Google Chrome、JQuery 和带有键的无法解释的事件行为