Javascript 如何将一个脚本的结果输入另一个脚本?

Javascript 如何将一个脚本的结果输入另一个脚本?,javascript,Javascript,我在这里的方式超过我的头,需要一些帮助,以了解我在看什么,请!(对Javascript来说非常陌生!)以下是我理解的情况 我有一个脚本正在从一段文本中选择一行,当前生成此警报,其中“1”是所选行: alert(getLine("sourcePara", 1)); …我不需要触发警报,而是需要将此选定文本输入到单独的脚本中,该脚本正在将数据发送到另一个浏览器窗口。目前,它从id为“STOCK1”的表单中获取一个文本字段,但可以替换为: function sendLog() { var m

我在这里的方式超过我的头,需要一些帮助,以了解我在看什么,请!(对Javascript来说非常陌生!)以下是我理解的情况

我有一个脚本正在从一段文本中选择一行,当前生成此警报,其中“1”是所选行:

alert(getLine("sourcePara", 1));
…我不需要触发警报,而是需要将此选定文本输入到单独的脚本中,该脚本正在将数据发送到另一个浏览器窗口。目前,它从id为“STOCK1”的表单中获取一个文本字段,但可以替换为:

function sendLog() {
    var msg = document.getElementById('STOCK1').value;
    t.send('STK1', msg);
}
我完全搞不清楚第一个脚本中的文本数据是什么形式的,不知道如何将其作为第二个脚本的源调用。。。救命啊

谢谢大家

编辑: 下面是本地连接元素的源代码

function LocalConnection(options) {

    this.name = 'localconnection';

    this.id = new Date().getTime();

    this.useLocalStorage = false;

    this.debug = false;

    this._actions= [];

    this.init = function(options) {

        try {
            localStorage.setItem(this.id, this.id);
            localStorage.removeItem(this.id);
            this.useLocalStorage = true;
        } catch(e) {
            this.useLocalStorage = false;
        }
        for (var o in options) {
            this[o] = options[o];
        }
        this.clear();
    }

    this.listen = function() {
        if (this.useLocalStorage) {
            if (window.addEventListener) {
                window.addEventListener('storage', this.bind(this, this._check), false);
            } else {
                window.attachEvent('onstorage', this.bind(this, this._check));
            }
        } else {
            setInterval(this.bind(this, this._check), 100);
        }
    }

    this.send = function(event) {
        var args = Array.prototype.slice.call(arguments, 1);
        return this._write(event, args);
    }

    this.addCallback = function(event, func, scope) {
        if (scope == undefined) {
            scope = this;
        }
        if (this._actions[event] == undefined) {
            this._actions[event] = [];
        }
        this._actions[event].push({f: func, s: scope});
    }

    this.removeCallback = function(event) {
        for (var e in this._actions) {
            if (e == event) {
                delete this._actions[e];
                break;
            }
        }
    }

    this._check = function() {
        var data = this._read();
        if (data.length > 0) {
            for (var e in data) {
                this._receive(data[e].event, data[e].args);
            }
        }
    }

    this._receive = function(event, args) {
        if (this._actions[event] != undefined) {
            for (var func in this._actions[event]) {
                if (this._actions[event].hasOwnProperty(func)) {
                    this.log('Triggering callback "'+event+'"', this._actions[event]);
                    var callback = this._actions[event][func];
                    callback.f.apply(callback.s, args);
                }
            }
        }
    };

    this._write = function(event, args) {
        var events = this._getEvents();
        var evt = {
            id: this.id,
            event: event,
            args: args
        };
        events.push(evt);
        this.log('Sending event', evt);
        if (this.useLocalStorage) {
            localStorage.setItem(this.name, JSON.stringify(events));
        } else {
            document.cookie = this.name + '=' + JSON.stringify(events) + "; path=/";
        }
        return true;
    }

    this._read = function() {
        var events = this._getEvents();
        if (events == '') {
            return false;
        }
        var ret = [];

        for (var e in events) {
            if (events[e].id != this.id) {
                ret.push({
                    event: events[e].event,
                    args: events[e].args
                });
                events.splice(e, 1);
            }
        }
        if (this.useLocalStorage) {
            localStorage.setItem(this.name, JSON.stringify(events));
        } else {
            document.cookie = this.name + '=' + JSON.stringify(events) + "; path=/";
        }
        return ret;
    }

    this._getEvents = function() {
        return this.useLocalStorage ? this._getLocalStorage() : this._getCookie();
    }

    this._getLocalStorage = function() {
        var events = localStorage.getItem(this.name);
        if (events == null) {
            return [];
        }
        return JSON.parse(events);
    }

    this._getCookie = function() {
        var ca = document.cookie.split(';');
        var data;
        for (var i=0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') {
                c = c.substring(1, c.length);
            }
            if (c.indexOf(this.name+'=') == 0) {
                data = c.substring(this.name.length+1, c.length);
                break;
            }
        }
        data = data || '[]';
        return JSON.parse(data);
    }

    this.clear = function() {
        if (this.useLocalStorage) {
            localStorage.removeItem(this.name);
        } else {
            document.cookie = this.name + "=; path=/";
        }
    }

    this.bind = function(scope, fn) {
        return function () {
            fn.apply(scope, arguments);
        };
    }

    this.log = function() {
        if (!this.debug) {
            return;
        }
        if (console) {
            console.log(Array.prototype.slice.call(arguments));
        }
    }
    this.init(options);
}
函数本地连接(选项){
this.name='localconnection';
this.id=new Date().getTime();
this.useLocalStorage=false;
this.debug=false;
这是._actions=[];
this.init=函数(选项){
试一试{
setItem(this.id,this.id);
localStorage.removietem(this.id);
this.useLocalStorage=true;
}捕获(e){
this.useLocalStorage=false;
}
for(选项中的var o){
此[o]=选项[o];
}
这个.clear();
}
this.listen=函数(){
if(this.useLocalStorage){
if(window.addEventListener){
window.addEventListener('storage',this.bind(this,this.\u check),false);
}否则{
window.attachEvent('onstorage',this.bind(this,this._check));
}
}否则{
setInterval(this.bind(this,this.\u check),100);
}
}
this.send=函数(事件){
var args=Array.prototype.slice.call(参数,1);
返回此。\u写入(事件,参数);
}
this.addCallback=函数(事件、函数、范围){
如果(范围==未定义){
范围=此;
}
如果(此._操作[事件]==未定义){
此._操作[事件]=[];
}
此.u操作[event].push({f:func,s:scope});
}
this.removeCallback=函数(事件){
for(本操作中的变量e){
if(e==事件){
删除此项;
打破
}
}
}
这个。_check=函数(){
var data=此值。_read();
如果(data.length>0){
for(数据中的var e){
此.u接收(数据[e]。事件,数据[e]。args);
}
}
}
此._receive=函数(事件,参数){
如果(此._操作[事件]!=未定义){
for(此操作[事件]中的var func){
if(this._actions[event].hasOwnProperty(func)){
this.log('触发回调'+event+'',this._actions[event]);
var callback=this._actions[event][func];
callback.f.apply(callback.s,args);
}
}
}
};
此._write=函数(事件,参数){
var events=this._getEvents();
var evt={
id:this.id,
事件:事件,,
args:args
};
事件推送(evt);
此.log('发送事件',evt);
if(this.useLocalStorage){
setItem(this.name,JSON.stringify(events));
}否则{
document.cookie=this.name+'='+JSON.stringify(事件)+“路径=/”;
}
返回true;
}
这是。_read=function(){
var events=this._getEvents();
如果(事件==''){
返回false;
}
var-ret=[];
for(事件中的var e){
if(events[e].id!=this.id){
后推({
事件:事件[e]。事件,
args:events[e]。args
});
事件。拼接(e,1);
}
}
if(this.useLocalStorage){
setItem(this.name,JSON.stringify(events));
}否则{
document.cookie=this.name+'='+JSON.stringify(事件)+“路径=/”;
}
返回ret;
}
这是。_getEvents=function(){
返回this.useLocalStorage?this.\u getLocalStorage():this.\u getCookie();
}
这是。_getLocalStorage=function(){
var events=localStorage.getItem(this.name);
如果(事件==null){
返回[];
}
返回JSON.parse(事件);
}
这是。_getCookie=function(){
var ca=document.cookie.split(“;”);
var数据;
对于(变量i=0;i
如果我正确理解您的要求,那么我认为将日志功能更改为以下内容是一个问题:

function sendLog() {
    t.send('STK1', getLine("sourcePara", 1));
}
这假设
getLine
是全局可访问的


或者另一种方法是允许sendLog(getLine("sourcePara", 1));
function sendLog(msg) {
    t.send('STK1', msg);
}