mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-16 23:30:23 +00:00
bug(ie8 docs): docs now work on ie8
This commit is contained in:
parent
b99f65f64d
commit
aa02534865
4 changed files with 32 additions and 13 deletions
2
angularFiles.js
vendored
2
angularFiles.js
vendored
|
|
@ -59,7 +59,7 @@ angularFiles = {
|
|||
'src/ng/directive/ngView.js',
|
||||
'src/ng/directive/script.js',
|
||||
'src/ng/directive/select.js',
|
||||
'src/ng/directive/style.js',
|
||||
'src/ng/directive/style.js'
|
||||
],
|
||||
|
||||
'angularSrcModules': [
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ exports.Example.prototype.toHtmlTabs = function() {
|
|||
|
||||
exports.Example.prototype.toHtmlEmbed = function() {
|
||||
var out = [];
|
||||
out.push('<div class="well doc-example-live"');
|
||||
out.push('<div class="well doc-example-live"');
|
||||
out.push(' ng-embed-app="' + this.module + '"');
|
||||
out.push(' ng-set-html="' + this.html[0].id + '"');
|
||||
out.push(' ng-eval-javascript="' + ids(this.js) + '">');
|
||||
|
|
|
|||
35
src/bootstrap/bootstrap-prettify.js
vendored
35
src/bootstrap/bootstrap-prettify.js
vendored
|
|
@ -19,6 +19,17 @@ function escape(text) {
|
|||
replace(/"/g, '"');
|
||||
}
|
||||
|
||||
/**
|
||||
* http://stackoverflow.com/questions/451486/pre-tag-loses-line-breaks-when-setting-innerhtml-in-ie
|
||||
* http://stackoverflow.com/questions/195363/inserting-a-newline-into-a-pre-tag-ie-javascript
|
||||
*/
|
||||
function setHtmlIe8SafeWay(element, html) {
|
||||
var newElement = angular.element('<pre>' + html + '</pre>');
|
||||
|
||||
element.html('');
|
||||
element.append(newElement.contents());
|
||||
return element;
|
||||
}
|
||||
|
||||
|
||||
directive.jsFiddle = function(getEmbeddedTemplate, escape, script) {
|
||||
|
|
@ -54,7 +65,7 @@ directive.jsFiddle = function(getEmbeddedTemplate, escape, script) {
|
|||
|
||||
fields.html += '</div>\n';
|
||||
|
||||
element.html(
|
||||
setHtmlIe8SafeWay(element,
|
||||
'<form class="jsfiddle" method="post" action="http://jsfiddle.net/api/post/library/pure/" target="_blank">' +
|
||||
hiddenField('title', 'AngularJS Example: ' + name) +
|
||||
hiddenField('css', '</style> <!-- Ugly Hack due to jsFiddle issue: http://goo.gl/BUfGZ --> \n' +
|
||||
|
|
@ -97,7 +108,7 @@ directive.ngSetText = ['getEmbeddedTemplate', function(getEmbeddedTemplate) {
|
|||
restrict: 'CA',
|
||||
priority: 10,
|
||||
compile: function(element, attr) {
|
||||
element.text(getEmbeddedTemplate(attr.ngSetText));
|
||||
setHtmlIe8SafeWay(element, escape(getEmbeddedTemplate(attr.ngSetText)));
|
||||
}
|
||||
}
|
||||
}]
|
||||
|
|
@ -109,9 +120,9 @@ directive.ngHtmlWrap = ['reindentCode', 'templateMerge', function(reindentCode,
|
|||
var properties = {
|
||||
head: '',
|
||||
module: '',
|
||||
body: reindentCode(element.text(), 4)
|
||||
body: element.text()
|
||||
},
|
||||
html = "<!doctype html>\n<html ng-app{{module}}>\n <head>\n{{head}} </head>\n <body>\n{{body}} </body>\n</html>";
|
||||
html = "<!doctype html>\n<html ng-app{{module}}>\n <head>\n{{head:4}} </head>\n <body>\n{{body:4}} </body>\n</html>";
|
||||
|
||||
angular.forEach((attr.ngHtmlWrap || '').split(' '), function(dep) {
|
||||
if (!dep) return;
|
||||
|
|
@ -120,15 +131,15 @@ directive.ngHtmlWrap = ['reindentCode', 'templateMerge', function(reindentCode,
|
|||
var ext = dep.split(/\./).pop();
|
||||
|
||||
if (ext == 'css') {
|
||||
properties.head += ' <link rel="stylesheet" href="' + dep + '" type="text/css">\n';
|
||||
properties.head += '<link rel="stylesheet" href="' + dep + '" type="text/css">\n';
|
||||
} else if(ext == 'js') {
|
||||
properties.head += ' <script src="' + dep + '"></script>\n';
|
||||
properties.head += '<script src="' + dep + '"></script>\n';
|
||||
} else {
|
||||
properties.module = '="' + dep + '"';
|
||||
}
|
||||
});
|
||||
|
||||
element.text(templateMerge(html, properties));
|
||||
setHtmlIe8SafeWay(element, escape(templateMerge(html, properties)));
|
||||
}
|
||||
}
|
||||
}];
|
||||
|
|
@ -139,7 +150,7 @@ directive.ngSetHtml = ['getEmbeddedTemplate', function(getEmbeddedTemplate) {
|
|||
restrict: 'CA',
|
||||
priority: 10,
|
||||
compile: function(element, attr) {
|
||||
element.html(getEmbeddedTemplate(attr.ngSetHtml));
|
||||
setHtmlIe8SafeWay(element, getEmbeddedTemplate(attr.ngSetHtml));
|
||||
}
|
||||
}
|
||||
}];
|
||||
|
|
@ -256,7 +267,13 @@ service.templateMerge = ['reindentCode', function(indentCode) {
|
|||
|
||||
service.getEmbeddedTemplate = ['reindentCode', function(reindentCode) {
|
||||
return function (id) {
|
||||
return reindentCode(angular.element(document.getElementById(id)).html(), 0);
|
||||
var element = document.getElementById(id);
|
||||
|
||||
if (!element) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return reindentCode(angular.element(element).html(), 0);
|
||||
}
|
||||
}];
|
||||
|
||||
|
|
|
|||
|
|
@ -1350,11 +1350,13 @@ var REGEXP_PRECEDER_PATTERN = '(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[
|
|||
* or the 1-indexed number of the first line in sourceCodeHtml.
|
||||
*/
|
||||
function prettyPrintOne(sourceCodeHtml, opt_langExtension, opt_numberLines) {
|
||||
var container = document.createElement('pre');
|
||||
// PATCHED: http://code.google.com/p/google-code-prettify/issues/detail?id=213
|
||||
var container = document.createElement('div');
|
||||
// This could cause images to load and onload listeners to fire.
|
||||
// E.g. <img onerror="alert(1337)" src="nosuchimage.png">.
|
||||
// We assume that the inner HTML is from a trusted source.
|
||||
container.innerHTML = sourceCodeHtml;
|
||||
container.innerHTML = '<pre>' + sourceCodeHtml + '</pre>';
|
||||
container = container.firstChild;
|
||||
if (opt_numberLines) {
|
||||
numberLines(container, opt_numberLines, true);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue