热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

js远程程序,程序员远程

本文目录一览:1、JAVASCRIPT如何获取远程页面内容

本文目录一览:


  • 1、Javascript如何获取远程页面内容


  • 2、如何实现 JS 远程控制服务器开关机?


  • 3、js 远程调用 怎么实现


  • 4、Javascript怎么连接远程服务器,只要能建立通信就行。不需要任何功能?


  • 5、远程调用js

Javascript如何获取远程页面内容

JS AJAX技术获取网页源代码是不行的...

要用其他方法...

例如,我用PHP的套接字模拟HTTP协议的方式编写一个获取源代码的PHP程序.

再用JS AJAX调用这个PHP程序.. 就能实现跨域了..

当然,你如果会JAVA,直接写个JAVA Applet也行...利用 URLConnection类,获取源代码轻而易举...

如何实现 JS 远程控制服务器开关机?

首先,你的服务器JS是控制不了的,必须用C,C++之类的后台语言控制,至于JS就是发个信号给你的服务器,让你的服务器后台语言控制这个服务器的开和关

js 远程调用 怎么实现

RMI:  Remote Method Invoke 远程方法调用

用js调用java,java实现远程调用。

jsonRPC 机制调用

ajax 调用

Javascript怎么连接远程服务器,只要能建立通信就行。不需要任何功能?

你说的连接是指什么?访问也是连接啊,你用js从远程服务器下载一个文件,这也算连接啊。

如果你是指登录远程服务器的话,这个需要远程服务器首先提供了登录接口,否则是登录不了的

远程调用js

JsLoader,动态加载远程js代码

/**

* Construct a new JSLoaderEnvironment instance

* @class JSLoaderEnvironment is the class designed to be a

* representation of a unix-like shell environment.

* The purpose of this is to allow the infrastructure to abstract

* away any library file location knowledge for rapid and enterprise

* adoption and deployment

*/

function JSLoaderEnvironment(){

// Default

this.prefix="/assets/";

// Auto-discover location

var _remote=false;

var s=0;

var _script_tags=document.getElementsByTagName("script");

var endsWith=function(str, substr){

return (str str.indexOf(substr) == (str.length-substr.length));

};

for(s=0;s_script_tags.length;++s){

var src=_script_tags[s].src;

var src_orig=src;

if(src){

if(src.indexOf("://")-1)

{

src=src.substring(src.indexOf("://")+3);

src=src.substring(src.indexOf("/"));

}

if(endsWith(src,"jsloader.js") || endsWith(src,"jsloader-debug.js")) {

// If the domain is remote, assume we're running in hosted mode

_remote=(src_orig.indexOf(document.domain)==-1);

if(_remote) src=src_orig;

this.prefix=src.substring(0, src.lastIndexOf("/")+1);

}

}

}

/**

* @private

*/

this.suffix=".js";

/**

* @private

* Make the Path of a module to meta/proj/release

*/

this.makeJSLoaderPath=function(m,p,r,suff){

// if just a url is specified, use it

if(!p !r) return this.stripExternalRef(m);

// build the m/p/r path

return this.prefix+m+"/"+p+"/incr/versions/"+r+ ((suff)?this.suffix:"");

}

/**

* The generate the path prefix for a MPR linked into the JSLoader Environmentiables

* @param m meta

* @param p project

* @param r release

*/

this.makePath=function(m,p,r){

// if just a url is specified, use it

if(!p !r) return this.stripExternalRef(m);

// build the m/p/r path

return this.prefix + m +"/" + p + "/" + r + "/";

}

/**

* @private

*/

this.env=new Object();

/**

* @private

*/

this.loaders=new Object();

/**

* The sets an environment variable (make sure it's safe for JS Object[key] notation)

* The idea here is that modules could set this, and pages which load the module

* can then get the Environment variables

* @param k Javascript object[key]

* @param v value (technically could be of any type...)

*/

this.setEnv=function(k,v){

this.env[k]=v;

}

/**

* The gets an environment variable previously set

* @param k Javascript object[key]

* @returns the value set for this key

*/

this.getEnv=function(k){ return this.env[k];}

/**

* Lists all modules

* loaded in this environment.

* @private

*/

this._loadedJSLoaders=new Object();

/**

* This makes a normalized key to stick into loaded_modules and verify if things are loaded.

* @private

*/

this.normalize=function(m,p,r){ return (m+"__"+p+"__"+r).toLowerCase();};

/**

* This checks whether the given meta/project/release is already loaded.

* @param m metaproject (or the path of a JS file, if no other args are passed)

* @param p project

* @param r release

* @type boolean

* @returns Whether m/p/r is loaded

*/

this.isLoaded=function(m,p,r){

var xkey=this.normalize(m,p,r);

return(this._loadedJSLoaders[xkey]!=null);

};

/**

* Gets a "loader" based on the MPR specified in the arguments

* This is useful for loading subpackages. You can call {@link JSSubLoader#load} or {@link JSSubLoader#loadAll} on this

* and it will load submodules under a folder with the "release" number

* @see JSSubLoader

* @param m metaproject

* @param p project

* @param r release

* @returns void

*/

this.getLoader=function(m,p,r){

var key=this.normalize(m,p,r);

var loader=this.loaders[key];

if(loader) {

return loader;

}

else {

loader=new JSSubLoader(this,this.makeJSLoaderPath(m,p,r,false)+"/");

var __path=this.makePath(m,p,r);

this.setEnv(p.toUpperCase()+"_PATH",__path);

this.loaders[key]=loader;

return loader;

}

}

/**

* Loads the requested module into the environment

* You can also load your own module by calling loadJavascript(url) if you want

* @param m metaproject

* @param p project

* @param r release

* @type boolean

* @returns void

*/

this.load=function(m,p,r){

var key=this.normalize(m,p,r);

var url=this.makeJSLoaderPath(m,p,r,true);

try{

if(this.isLoaded(m,p,r)) {

return;

}

this.loadJavascript(url);

this._loadedJSLoaders[key]="true";

} catch (e){ this.handleError(e); }

};

/**

* Loads a Javascript file into the page

* @param {String} url the url of the Javascript file

*/

this.loadJavascript=function (url){

url = this.stripExternalRef(url);

document.writeln("scri"+"pt src='"+url+"' type='text/Javascript'/sc"+"ript");

};

/**

* Loads a Javascript file into the page

* @param {String} url the url of the Javascript file

*/

this.loadStyleSheet=function(url){

url = this.stripExternalRef(url);

document.writeln("li"+"nk rel='stylesheet' href='"+url+"' type='text/css'/li"+"nk");

};

/**

* Strips out any double slashes, double dots, or cross domain references.

* @param s string

*/

this.stripExternalRef=function(s){

var exprs = [/\.\.+/g,/\/\/+/g,/\\\\+/g,/\:+/g,/\'+/g,/\%+/g];

// If it's hosted, we relax the protocol related regex

exprs = [/\.\.+/g,/\\\\+/g,/\'+/g,/\%+/g];

if (_remote)

for(var i=0; iexprs.length; i++)

{

s = s.replace(exprs[i], '');

}

return s;

}

/**

* Overwritable error handler

*/

this.handleError=function(e) {

}

return this;

};

/**

* Construct a new JSSubLoader instance. You shoudl never need to call this, as {@link JSLoaderEnvironment#getLoader} gets you one of these from the environment.

* @class JSSubLoader is designed to load "sub" modules

* This is a wrapper which is produced when you call {@link JSLoaderEnvironment#getLoader}

* It is designed to allow sub-packages within a given MPR to be loaded easily. This is constructed by JSLoader.getLoader() call

* so you should never really need to construct one of these.

* @constructor

* @param {JSLoaderEnvironment} env_

* @param {String} prefix_ The path underneath which the submodules reside

*

*/

function JSSubLoader(env_, prefix_){

/**

* @private

*/

this.envirOnment=env_;

/**

* @private

*/

this.prefix=prefix_;

/**

* @private

*/

this.loaded=new Object();

/**

* @private

*/

this.normalize=function(str){ return str.toLowerCase(); }

/**

* Loads an array of subpackages

* @param {Array} pkgs an array of packages.

*/

this.loadAll=function(pkgs_){

for(i=0;ipkgs_.length;++i) this.load(pkgs_[i]);

};

/**

* Loads a subpackage, if it's not already loaded

* @param {String} url the url of the sub-package module file (m/p/r/submodule.js)

*/

this.load=function(pkg){

var p=this.normalize(pkg);

if (this.loaded[p]) {

return;

}

this.loaded[p]=pkg;

this.environment.loadJavascript(prefix_+pkg+".js");

};

};

JSLoader = new JSLoaderEnvironment();

// LocalWords: fileoverview


推荐阅读
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • PHP中的单例模式与静态变量的区别及使用方法
    本文介绍了PHP中的单例模式与静态变量的区别及使用方法。在PHP中,静态变量的存活周期仅仅是每次PHP的会话周期,与Java、C++不同。静态变量在PHP中的作用域仅限于当前文件内,在函数或类中可以传递变量。本文还通过示例代码解释了静态变量在函数和类中的使用方法,并说明了静态变量的生命周期与结构体的生命周期相关联。同时,本文还介绍了静态变量在类中的使用方法,并通过示例代码展示了如何在类中使用静态变量。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • ECMA262规定typeof操作符的返回值和instanceof的使用方法
    本文介绍了ECMA262规定的typeof操作符对不同类型的变量的返回值,以及instanceof操作符的使用方法。同时还提到了在不同浏览器中对正则表达式应用typeof操作符的返回值的差异。 ... [详细]
  • 解决Sharepoint 2013运行状况分析出现的“一个或多个服务器未响应”问题的方法
    本文介绍了解决Sharepoint 2013运行状况分析中出现的“一个或多个服务器未响应”问题的方法。对于有高要求的客户来说,系统检测问题的存在是不可接受的。文章详细描述了解决该问题的步骤,包括删除服务器、处理分布式缓存留下的记录以及使用代码等方法。同时还提供了相关关键词和错误提示信息,以帮助读者更好地理解和解决该问题。 ... [详细]
  • PHP反射API的功能和用途详解
    本文详细介绍了PHP反射API的功能和用途,包括动态获取信息和调用对象方法的功能,以及自动加载插件、生成文档、扩充PHP语言等用途。通过反射API,可以获取类的元数据,创建类的实例,调用方法,传递参数,动态调用类的静态方法等。PHP反射API是一种内建的OOP技术扩展,通过使用Reflection、ReflectionClass和ReflectionMethod等类,可以帮助我们分析其他类、接口、方法、属性和扩展。 ... [详细]
  • php缓存ri,浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
    thinkPHP的F方法只能用于缓存简单数据类型,不支持有效期和缓存对象。S()缓存方法支持有效期,又称动态缓存方法。本文是小编日常整理有关thinkp ... [详细]
  • Tomcat安装与配置教程及常见问题解决方法
    本文介绍了Tomcat的安装与配置教程,包括jdk版本的选择、域名解析、war文件的部署和访问、常见问题的解决方法等。其中涉及到的问题包括403问题、数据库连接问题、1130错误、2003错误、Java Runtime版本不兼容问题以及502错误等。最后还提到了项目的前后端连接代码的配置。通过本文的指导,读者可以顺利完成Tomcat的安装与配置,并解决常见的问题。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Netty源代码分析服务器端启动ServerBootstrap初始化
    本文主要分析了Netty源代码中服务器端启动的过程,包括ServerBootstrap的初始化和相关参数的设置。通过分析NioEventLoopGroup、NioServerSocketChannel、ChannelOption.SO_BACKLOG等关键组件和选项的作用,深入理解Netty服务器端的启动过程。同时,还介绍了LoggingHandler的作用和使用方法,帮助读者更好地理解Netty源代码。 ... [详细]
  • 用Vue实现的Demo商品管理效果图及实现代码
    本文介绍了一个使用Vue实现的Demo商品管理的效果图及实现代码。 ... [详细]
  • 安装oracle软件1创建用户组、用户和目录bjdb节点下:[rootnode1]#groupadd-g200oinstall[rootnode1]#groupad ... [详细]
author-avatar
20乐宝儿_202
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有