Send data to google script web app periodically - javascript

I am doing a small google script web app to update data from google sheet every 30 minutes. I've tried to use page refresh method but it is impossible because the web app show a blank page whenever refresh. So, is there any way to reload web app data periodically?
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
<!-- jQuery library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<!-- Latest compiled JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
<meta http-equiv="refresh" content="1"> <!--this reload blank page-->
</head>
<body>
<div><b class="alert alert-danger">SẮP HẾT NHỰA</b>
</div>
<div class="ggsheetdata">
</div>
<script>
</script>
</body>
</html>

You can use the Javascript setInterval function to call a Javascript Function which in turn calls a google.script.run.withSuccessHandler(function(data){//update data here}).getData();
where getData() is a Google Apps Script function that returns the required data back the SuccessHandler.
However, your webapp must be able to be running in the browser at all times for this to work.
setInterval

Related

HTML, Javascript web page auto login

I'm trying to load an external page and run auto login script. This is what I got so far, but it's not working =( Any help be appreciated!
<html>
<head>
<script type="text/javascript">
javascript:(function(){
window.open ("https://external page address","_self");
document.getElementById("username").value="my username";
document.getElementById("password").value="my password";
document.getElementById("loginbutton").click();
})();
</script>
</head>
<title>Login Page</title>
<body onload="function()">
</body>
You won't be able to do this. Web applications cannot talk cross-origin to other web pages inside of a web browser.

How does one block direct browser access of client side include files in angularjs?

In an angularjs application, the index.html page is served when a user types mydomain.com into their web browser. But the page has client side include pages, including index_firstinclude.html. But there is a hole in the app because any user (or webcrawling spider bot) can see unintended content if they type mydomain.com/index_firstinclude.html into their browser. This could lead to automated links to the unintended include urls from search engines and other sites. How can I make sure that the user is NOT able to see the content of index_firstinclude.html if they type mydomain.com/index_firstinclude.html in their browser?
Here is index.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" type="text/css" href="resources/css/my.css">
</head>
<body ng-app="myApp">
<script src="js/lib/angular.js"></script>
<script type="text/javascript" src="myController.js"></script>
<div ng-controller="myController">
<table width=100%>
<tr>
<td align="center">
<div ng-include="'index_firstinclude.html'"></div>
</td>
</tr>
</table>
</div>
</body>
</html>
In your code example you include the index_firstinclude.html into your main page, so it's content will be visible to the site visitors and those bots who process javascript sites.
You can disable loading any specified files for specific useragents by configuring your web server.
Also, if there are pages with content for authorized users only, you could serve them with server-side authorization check.

Access pending browser requests to backend with JS?

Is it possible to view the pending http requests using JavaScript made by a browser, and operate on those requests?
For example:
<html>
<head>
<script src="http://somehost.io/js/somescript.js"></script>
<link rel="stylesheet" type="text/css" href="/somestyling.css">
</head>
<body>
<div>
Content
</div>
<script>
// Check pending requests here.
</script>
</body>
</html>
Given the above HTML, I would like to see if the request to the remote host is taking too long, cancel the request if it is; or at least know if the request is preventing the page from fully loading.

can not able to load dojo.js

As I am trying my hands on dojotoolkit, I try to run (open) following html code in my browser, as they said on tutorial, but my browser does not able to load dojo.js
At time of troubleshooting I found that source URL is converted like following:
file://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Tutorial: Hello Dojo!</title>
</head>
<body>
<h1 id="greeting">Hello</h1>
<!-- load Dojo -->
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"
data-dojo-config="async: true"></script>
<script>
require([
'dojo/dom',
'dojo/dom-construct'
], function (dom, domConstruct) {
var greetingNode = dom.byId('greeting');
domConstruct.place('<em> Dojo!</em>', greetingNode);
});
</script>
</body>
</html>
Use a real webserver, rather than browsing from the filesystem.
While Frank is correct in that adding an explicit protocol to the URL will fix this particular issue, you are inevitably going to run into other issues anyway, such as XHR being locked down from the file:// protocol. The protocol-relative URL you were originally using will work fine if you test on a real webserver which serves http or https.
you need to add http as the protocol for the dojo.js file source.
<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"
data-dojo-config="async: true"></script>
Also best practice is to add library files in the head tag instead of the body tag.
<head>
<meta charset="utf-8">
<title>Tutorial: Hello Dojo!</title>
<!-- load Dojo -->
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"
data-dojo-config="async: true"></script>
</head>

Why i cant connect to external link .js ? (Using Xcode plugin phonegap)

<!DOCTYPE HTML>
<html>
<head>
<title>Doctor List</title>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<link rel="stylesheet" href="css/jquery.mobile-1.0rc1.min.css" />
<link rel="stylesheet" href="css/styles.css" />
</head>
<body>
<div id="employeeListPage" data-role="page" >
<div data-role="header" data-position="fixed">
<h1>Doctor</h1>
</div>
<div data-role="content">
<ul id="employeeList" data-role="listview" data-filter="true"></ul>
</div>
</div>
<script src="js/jquery.js"></script>
<script src="js/jquery.mobile-1.0rc1.min.js"></script>
<script type="text/javascript" src="http://panchoslimi.bugs3.com/MMC/js/DoctorList.js"></script>
</body>
Why scr="http://panchoslimi.bugs3.com/mmc/js/DoctorList.js" not working ? btw i need DoctorList.js on server side for my php file work. so i dont need doctorlist.js local on my xcode .. any solution ?
When I attempt to load the link repeatedly in a browser (drop it into the URL bar), the source code loaded once. On the other attempts, I get an error message:
Service Temporarily Unavailable
Speak with the person providing the JavaScript code about the server not being reliably available. You might see this behavior, for example, if they use load balancing and only some of their web servers are functioning correctly.
btw i need DoctorList.js on server side for my php file work. so i dont need doctorlist.js local
The code you show is HTML. HTML will execute in the client, not on the server. Your markup to include the script appears to be correct.
JavaScript does not run in PHP. To run it server-side, you need a server-side JavaScript engine.
Try to load your js from local. Just download it and include in your project like scr="/js/DoctorList.js".

Categories