我有四个不同的文件链接在一起。 Index.html - style.css - script.js - script2.js
script2.js包含一个小测试脚本,用于测试并查看它是否全部有效。
index.html包含以下内容:
localhost:5000/rest
现在我的script.js文件包含:
<manifest>
<application>
...
</application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
</manifest>
哪个不起作用。为什么?我不明白为什么一个文件有效,但另一个文件没有......
答案 0 :(得分:4)
您的script.js无法正常工作,因为window.CP
未定义。 window.CP
是CodePen的一部分,可防止无限循环挂起您的标签页或浏览器。
从http://codepen.io/wagerfield/pen/wftcE获取原始咖啡脚本(不是已编译的脚本)并使用http://js2.coffee将其转换为javascript,并将其用作脚本.js
这是转换后的javascript(用作你的script.js):
var $animate, $container, $message, $paragraph, MESSAGES, animate, initialise, scramble;
MESSAGES = [];
MESSAGES.push({
delay: 0,
text: "Incoming transmission..."
});
MESSAGES.push({
delay: 1200,
text: "You don't talk to anybody."
});
MESSAGES.push({
delay: 2200,
text: "You don't interact with anybody."
});
MESSAGES.push({
delay: 3600,
text: "Your whole sense of reality is, pretty warped..."
});
MESSAGES.push({
delay: 5200,
text: "Does it bother you that we're not real?"
});
$container = $("#container");
$message = $("#message");
$animate = $("#animate");
$paragraph = null;
scramble = function(element, text, options) {
var $element, addGlitch, character, defaults, ghostCharacter, ghostCharacters, ghostLength, ghostText, ghosts, glitchCharacter, glitchCharacters, glitchIndex, glitchLength, glitchProbability, glitchText, glitches, i, j, k, letter, object, order, output, parameters, ref, results, settings, shuffle, target, textCharacters, textLength, wrap;
defaults = {
probability: 0.2,
glitches: '-|/\\',
blank: '',
duration: text.length * 40,
ease: 'easeInOutQuad',
delay: 0.0
};
$element = $(element);
settings = $.extend(defaults, options);
shuffle = function() {
if (Math.random() < 0.5) {
return 1;
} else {
return -1;
}
};
wrap = function(text, classes) {
return "<span class=\"" + classes + "\">" + text + "</span>";
};
glitchText = settings.glitches;
glitchCharacters = glitchText.split('');
glitchLength = glitchCharacters.length;
glitchProbability = settings.probability;
glitches = (function() {
var j, len, results;
results = [];
for (j = 0, len = glitchCharacters.length; j < len; j++) {
letter = glitchCharacters[j];
results.push(wrap(letter, 'glitch'));
}
return results;
})();
ghostText = $element.text();
ghostCharacters = ghostText.split('');
ghostLength = ghostCharacters.length;
ghosts = (function() {
var j, len, results;
results = [];
for (j = 0, len = ghostCharacters.length; j < len; j++) {
letter = ghostCharacters[j];
results.push(wrap(letter, 'ghost'));
}
return results;
})();
textCharacters = text.split('');
textLength = textCharacters.length;
order = (function() {
results = [];
for (var j = 0; 0 <= textLength ? j < textLength : j > textLength; 0 <= textLength ? j++ : j--){ results.push(j); }
return results;
}).apply(this).sort(this.shuffle);
output = [];
for (i = k = 0, ref = textLength; 0 <= ref ? k < ref : k > ref; i = 0 <= ref ? ++k : --k) {
glitchIndex = Math.floor(Math.random() * (glitchLength - 1));
glitchCharacter = glitches[glitchIndex];
ghostCharacter = ghosts[i] || settings.blank;
addGlitch = Math.random() < glitchProbability;
character = addGlitch ? glitchCharacter : ghostCharacter;
output.push(character);
}
object = {
value: 0
};
target = {
value: 1
};
parameters = {
duration: settings.duration,
ease: settings.ease,
step: function() {
var index, l, progress, ref1;
progress = Math.floor(object.value * (textLength - 1));
for (i = l = 0, ref1 = progress; 0 <= ref1 ? l <= ref1 : l >= ref1; i = 0 <= ref1 ? ++l : --l) {
index = order[i];
output[index] = textCharacters[index];
}
return $element.html(output.join(''));
},
complete: function() {
return $element.html(text);
}
};
return $(object).delay(settings.delay).animate(target, parameters);
};
animate = function() {
var data, element, index, j, len, options;
for (index = j = 0, len = MESSAGES.length; j < len; index = ++j) {
data = MESSAGES[index];
element = $paragraph.get(index);
element.innerText = '';
options = {
delay: data.delay
};
scramble(element, data.text, options);
}
};
initialise = function() {
var index, j, len, text;
$animate.click(animate);
for (index = j = 0, len = MESSAGES.length; j < len; index = ++j) {
text = MESSAGES[index];
$message.append("<p>");
}
$paragraph = $container.find("p");
animate();
};
initialise();
// ---
// generated by coffee-script 1.9.2
答案 1 :(得分:0)
确保文件路径正确。
您的代码中包含您的javascript文件,如下所示:
<script type="text/javascript" src="script.js"></script>
因此,请确保您的文件index.html和script.js位于同一文件夹中。
如果不是,请尝试包含您的javascript文件:
<script type="text/javascript" src="../script.js"></script>
我希望这会有所帮助。
答案 2 :(得分:0)
首先使用Inspect Element(F12)在浏览器中查看 - &gt;网络或控制台您获取script.js的路径。使用〜表示设置路径。 〜将设置文件夹结构的根目录。
<script type="text/javascript" src="~/Set folder name from Root/script.js"></script>
如果您的文件位于资产中 - &gt;脚本文件夹然后您的路径将是“〜/ Assets / Script / script.js”
<script type="text/javascript" src="~/Assets/Script/script.js"></script>
答案 3 :(得分:0)
所以我有一个我的伙伴遇到同样的问题,但他想使用window.CP.shouldStopExecution。所以我检查了codepen的javascript文件,找到了它来自的文件。
您可以将以下内容保存到js文件中,然后将其导入到javascript脚本中。 window.CP函数子集应该在那之后完全起作用。
"use strict";"object"!=typeof window.CP&&(window.CP={}),window.CP.PenTimer={programNoLongerBeingMonitored:!1,timeOfFirstCallToShouldStopLoop:0,_loopExits:{},_loopTimers:{},START_MONITORING_AFTER:2e3,STOP_ALL_MONITORING_TIMEOUT:5e3,MAX_TIME_IN_LOOP_WO_EXIT:2200,exitedLoop:function(o){this._loopExits[o]=!0},shouldStopLoop:function(o){if(this.programKilledSoStopMonitoring)return!0;if(this.programNoLongerBeingMonitored)return!1;if(this._loopExits[o])return!1;var t=this._getTime();if(0===this.timeOfFirstCallToShouldStopLoop)return this.timeOfFirstCallToShouldStopLoop=t,!1;var i=t-this.timeOfFirstCallToShouldStopLoop;if(i<this.START_MONITORING_AFTER)return!1;if(i>this.STOP_ALL_MONITORING_TIMEOUT)return this.programNoLongerBeingMonitored=!0,!1;try{this._checkOnInfiniteLoop(o,t)}catch(o){return this._sendErrorMessageToEditor(),this.programKilledSoStopMonitoring=!0,!0}return!1},_sendErrorMessageToEditor:function(){try{if(this._shouldPostMessage()){var o={action:"infinite-loop",line:this._findAroundLineNumber()};parent.postMessage(JSON.stringify(o),"*")}else this._throwAnErrorToStopPen()}catch(o){this._throwAnErrorToStopPen()}},_shouldPostMessage:function(){return document.location.href.match(/boomerang/)},_throwAnErrorToStopPen:function(){throw"We found an infinite loop in your Pen. We've stopped the Pen from running. Please correct it or contact support@codepen.io."},_findAroundLineNumber:function(){var o=new Error,t=0;if(o.stack){var i=o.stack.match(/boomerang\S+:(\d+):\d+/);i&&(t=i[1])}return t},_checkOnInfiniteLoop:function(o,t){if(!this._loopTimers[o])return this._loopTimers[o]=t,!1;var i=t-this._loopTimers[o];if(i>this.MAX_TIME_IN_LOOP_WO_EXIT)throw"Infinite Loop found on loop: "+o},_getTime:function(){return+new Date}},window.CP.shouldStopExecution=function(o){var t=window.CP.PenTimer.shouldStopLoop(o);return t===!0&&console.warn("[CodePen]: An infinite loop (or a loop taking too long) was detected, so we stopped its execution. Sorry!"),t},window.CP.exitedLoop=function(o){window.CP.PenTimer.exitedLoop(o)};
&#13;