මට පහත කේතය රූබි හි ඇත. මට මෙම කේතය ජාවාස්ක්රිප්ට් බවට පරිවර්තනය කිරීමට අවශ්යයි. JS හි සමාන කේතය කුමක්ද?
text = <<"HERE"
This
Is
A
Multiline
String
HERE
මට පහත කේතය රූබි හි ඇත. මට මෙම කේතය ජාවාස්ක්රිප්ට් බවට පරිවර්තනය කිරීමට අවශ්යයි. JS හි සමාන කේතය කුමක්ද?
text = <<"HERE"
This
Is
A
Multiline
String
HERE
Answers:
ECMAScript 6 (ES6) විසින් අළුත් වචනාර්ථයක් හඳුන්වා දෙයි, එනම් අච්චු සාහිත්යය . ඒවාට බොහෝ විශේෂාංග ඇත, අනෙක් ඒවා අතර විචල්ය අන්තර් මැදිහත්වීමක් ඇත, නමුත් වඩාත්ම වැදගත් දෙය නම් මෙම ප්රශ්නය සඳහා ඒවා බහු රේඛීය විය හැකිය.
අච්චුවක් වචනාර්ථයෙන් බැක්ටික්ස් මගින් වෙන් කරනු ලැබේ :
var html = `
<div>
<span>Some HTML here</span>
</div>
`;
(සටහන: මම නූල් වල HTML භාවිතා කිරීමට යෝජනා නොකරමි)
බ්රව්සර් සහාය හරි , නමුත් ඔබට වඩාත් අනුකූල වීමට ට්රාන්ස්පෝලර් භාවිතා කළ හැකිය.
ජාවාස්ක්රිප්ට් සතුව මෙහි ලේඛන සින්ටැක්ස් නොමැත. කෙසේ වෙතත්, ඔබට වචනයේ පරිසමාප්ත අර්ථයෙන්ම ගැලවිය හැකිය:
"foo \
bar"
පළමු පිළිතුරෙහි සඳහන් වන පරිදි, ES6 / බාබෙල් සමඟ, ඔබට දැන් බැක්ටික්ස් භාවිතා කිරීමෙන් බහු රේඛා නූල් සෑදිය හැකිය:
const htmlString = `Say hello to
multi-line
strings!`;
ඉන්ටර්පොලේටින් විචල්යයන් යනු ජනප්රිය නව අංගයක් වන අතර එය බැක්-ටික් වෙන් කරන ලද නූල් සමඟ පැමිණේ:
const htmlString = `${user.name} liked your post about strings`;
මෙය හුදෙක් සංක්ෂිප්තභාවයට පරිවර්තනය වේ:
user.name + ' liked your post about strings'
ගූගල් හි ජාවාස්ක්රිප්ට් විලාසිතාවේ මාර්ගෝපදේශය නව රේඛාවලින් ගැලවීම වෙනුවට නූල් සම්මුතියක් භාවිතා කිරීමට නිර්දේශ කරයි:
මෙය නොකරන්න:
var myString = 'A rather long string of English text, an error message \ actually that just keeps going and going -- an error \ message to make the Energizer bunny blush (right through \ those Schwarzenegger shades)! Where was I? Oh yes, \ you\'ve got an error and all the extraneous whitespace is \ just gravy. Have a nice day.';
එක් එක් පේළියේ ආරම්භයේ ඇති සුදු අවකාශය සම්පාදනය කරන වේලාවේදී ආරක්ෂිතව ඉවත් කළ නොහැක; කප්පාදුවෙන් පසු හිස් අවකාශය උපක්රමශීලී දෝෂ ඇති කරයි; බොහෝ ස්ක්රිප්ට් එන්ජින් මේ සඳහා සහය දක්වන අතර එය ECMAScript හි කොටසක් නොවේ.
ඒ වෙනුවට නූල් සම්මුතිය භාවිතා කරන්න:
var myString = 'A rather long string of English text, an error message ' + 'actually that just keeps going and going -- an error ' + 'message to make the Energizer bunny blush (right through ' + 'those Schwarzenegger shades)! Where was I? Oh yes, ' + 'you\'ve got an error and all the extraneous whitespace is ' + 'just gravy. Have a nice day.';
\
`\` වෙනුවට පේළියක් අවසන් කළහොත් එය දැකීම අපහසුය] සහ (3) බොහෝ ස්ක්රිප්ට් එන්ජින් මෙයට සහය දෙන අතර එය ECMAScript හි කොටසක් නොවේ [එනම් ඇයි ප්රමිතියෙන් තොර විශේෂාංග භාවිතා කරනවාද?] එය ශෛලමය මාර්ගෝපදේශයක් බව මතක තබා ගන්න, එය කේත කියවීම පහසු කිරීම + නඩත්තු කිරීම + නිදොස් කිරීම ය: “එය ක්රියා කරයි” පමණක් නොවේ.
රටාව text = <<"HERE" This Is A Multiline String HERE
js හි නොමැත (මගේ හොඳ පැරණි පර්ල් දිනවල එය භාවිතා කළ බව මට මතකයි).
සංකීර්ණ හෝ දිගු බහු නූල් සමඟ අධීක්ෂණය තබා ගැනීම සඳහා මම සමහර විට අරාව රටාවක් භාවිතා කරමි:
var myString =
['<div id="someId">',
'some content<br />',
'<a href="#someRef">someRefTxt</a>',
'</div>'
].join('\n');
හෝ නිර්නාමික දැනටමත් පෙන්වා ඇති රටාව (නව රේඛාවෙන් පැන යන්න), එය ඔබේ කේතයේ කැත අවහිරයක් විය හැකිය:
var myString =
'<div id="someId"> \
some content<br /> \
<a href="#someRef">someRefTxt</a> \
</div>';
මෙන්න තවත් අමුතු නමුත් වැඩ කරන 'උපක්රමය' 1 :
var myString = (function () {/*
<div id="someId">
some content<br />
<a href="#someRef">someRefTxt</a>
</div>
*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
බාහිර සංස්කරණය: jsfiddle
ES20xx අච්චු නූල් භාවිතා කරමින් බහු පේළි හරහා විහිදෙන නූල් සඳහා සහය දක්වයි :
let str = `This is a text
with multiple lines.
Escapes are interpreted,
\n is a newline.`;
let str = String.raw`This is a text
with multiple lines.
Escapes are not interpreted,
\n is not a newline.`;
1 සටහන: ඔබේ කේතය අවම කිරීමෙන් / අපැහැදිලි කිරීමෙන් පසු මෙය නැති වේ
ඔබ හැකි පිරිසිදු JavaScript දී multiline නූල් තියෙනවා.
මෙම ක්රමය පදනම් වී ඇත්තේ ශ්රිත අනුක්රමිකකරණය මත වන අතර එය ක්රියාත්මක කිරීම මත රඳා පවතී . එය බොහෝ බ්රව්සර් වල ක්රියා කරයි (පහත බලන්න), නමුත් අනාගතයේ දී එය තවමත් ක්රියාත්මක වනු ඇති බවට සහතිකයක් නැත, එබැවින් එය මත විශ්වාසය නොතබන්න.
පහත ශ්රිතය භාවිතා කිරීම:
function hereDoc(f) {
return f.toString().
replace(/^[^\/]+\/\*!?/, '').
replace(/\*\/[^\/]+$/, '');
}
ඔබට මෙවැනි ලිපි ලේඛන තිබිය හැකිය:
var tennysonQuote = hereDoc(function() {/*!
Theirs not to make reply,
Theirs not to reason why,
Theirs but to do and die
*/});
පහත දැක්වෙන බ්රව්සර් තුළ මෙම ක්රමය සාර්ථකව අත්හදා බලා ඇත (සඳහන් කර නැත = පරීක්ෂා කර නොමැත):
ඔබේ මිනිෆයර් සමඟ ප්රවේශම් වන්න. එය අදහස් ඉවත් කිරීමට නැඹුරු වේ. සඳහා YUI කොම්ප්රෙෂර් , ආරම්භ වන අදහස් /*!
(මම භාවිතා කරන එක් වැනි) එලෙස ම ආරක්ෂා වේ.
මම හිතන්නේ සැබෑ විසඳුමක් වනුයේ කෝපි ස්ක්රිප්ට් භාවිතා කිරීමයි .
ES6 යාවත්කාලීන කිරීම: ඔබට විවරණයක් සහිත ශ්රිතයක් නිර්මාණය කර විවරණය මත ස්ට්රිං වෙත ධාවනය කරනවා වෙනුවට බැක්ටික් භාවිතා කළ හැකිය. රීජෙක්ස් යාවත්කාලීන කිරීමට අවශ්ය වන්නේ තීරු අවකාශයට පමණි. මෙය සිදු කිරීම සඳහා ඔබට නූල් මූලාකෘති ක්රමයක් ද තිබිය හැකිය:
let foo = `
bar loves cake
baz loves beer
beer loves people
`.removeIndentation()
එය සිසිල් වනු ඇත. කවුරුහරි මෙය ලිවිය යුතුය .removeIndentation string method ...;)
ඔබට මෙය කරන්න පුළුවන්...
var string = 'This is\n' +
'a multiline\n' +
'string';
මම බහු රේඛා නූලක මෙම ජිමී රිග්ඩ් ක්රමය ඉදිරිපත් කළෙමි. ශ්රිතයක් නූලක් බවට පරිවර්තනය කිරීම මඟින් ශ්රිතය තුළ ඇති ඕනෑම අදහස් දැක්වීමක් ලබා දෙන බැවින් ඔබට බහු විවරණයක් / ** / භාවිතා කරමින් අදහස් ඔබේ නූල ලෙස භාවිතා කළ හැකිය. ඔබට කෙළවර කපා දැමිය යුතු අතර ඔබේ නූලද ඇත.
var myString = function(){/*
This is some
awesome multi-lined
string using a comment
inside a function
returned as a string.
Enjoy the jimmy rigged code.
*/}.toString().slice(14,-3)
alert(myString)
toString()
.
මම මෙය නොදැකීම ගැන මට පුදුමයි, මන්ද එය මා පරීක්ෂා කළ සෑම තැනකම ක්රියාත්මක වන අතර උදා. සැකිලි සඳහා එය ඉතා ප්රයෝජනවත් වේ:
<script type="bogus" id="multi">
My
multiline
string
</script>
<script>
alert($('#multi').html());
</script>
HTML ඇති නමුත් එය ක්රියාත්මක නොවන පරිසරයක් ගැන කිසිවෙකු දන්නවාද?
මම මෙය විසඳුවේ div එකක් ප්රතිදානය කිරීමෙන්, එය සඟවා තැබීමෙන් සහ මට අවශ්ය වූ විට div id එක jQuery මගින් ඇමතීමෙන්.
උදා
<div id="UniqueID" style="display:none;">
Strings
On
Multiple
Lines
Here
</div>
එවිට මට නූල ලබා ගැනීමට අවශ්ය වූ විට, මම පහත දැක්වෙන jQuery භාවිතා කරමි:
$('#UniqueID').html();
එමඟින් මගේ පෙළ බහු පේළි වලින් ලබා දෙයි. මම කතා කළොත්
alert($('#UniqueID').html());
මම ගත්තා:
display:none
අන්තර්ගතයන් කරන බවයි, බොහෝ දුරට ජාවාස්ක්රිප්ට් විලාසිතාවේ ඉදිරිපස කෙළවරේ ජනප්රියතාවය නිසා විය හැකිය. .
මෙය සාක්ෂාත් කර ගැනීම සඳහා විවිධ ක්රම තිබේ
1. කප්පාදු කිරීම
var MultiLine= '1\
2\
3\
4\
5\
6\
7\
8\
9';
2. නිතිපතා සම්මුතිය
var MultiLine = '1'
+'2'
+'3'
+'4'
+'5';
3. අරාව සංයුක්තයට සම්බන්ධ වන්න
var MultiLine = [
'1',
'2',
'3',
'4',
'5'
].join('');
කාර්ය සාධනය අනුව, ස්ලෑෂ් සමෝච්ඡය (පළමු එක) වේගවත්ම වේ.
කාර්ය සාධනය පිළිබඳ වැඩි විස්තර සඳහා මෙම පරීක්ෂණ අවස්ථාව බලන්න
යාවත්කාලීන කිරීම:
සමග ES2015 , අපි එහි සැකිල්ල නූල් ලක්ෂණය වාසිය ගත හැකි. එය සමඟ, අපට අවශ්ය වන්නේ බහු රේඛා නූල් සෑදීම සඳහා පසුපස කිනිතුල්ලන් භාවිතා කිරීමයි
උදාහරණයක්:
`<h1>{{title}}</h1>
<h2>{{hero.name}} details!</h2>
<div><label>id: </label>{{hero.id}}</div>
<div><label>name: </label>{{hero.name}}</div>
`
ස්ක්රිප්ට් ටැග් භාවිතා කිරීම:
<script>...</script>
ඔබේ බහු පෙළ පෙළ අඩංගු බ්ලොක් එකක් ටැගයට එක් කරන්න head
;ඔබේ බහු පෙළ පෙළ එලෙසම ලබා ගන්න ... (පෙළ කේතන ක්රමයට ප්රවේශම් වන්න: UTF-8, ASCII)
<script>
// pure javascript
var text = document.getElementById("mySoapMessage").innerHTML ;
// using JQuery's document ready for safety
$(document).ready(function() {
var text = $("#mySoapMessage").html();
});
</script>
<script id="mySoapMessage" type="text/plain">
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="...">
<soapenv:Header/>
<soapenv:Body>
<typ:getConvocadosElement>
...
</typ:getConvocadosElement>
</soapenv:Body>
</soapenv:Envelope>
<!-- this comment will be present on your string -->
//uh-oh, javascript comments... SOAP request will fail
</script>
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
JS හි අදහස් වැරදි ලෙස ටයිප් කිරීම හැර වෙනත් ගැටළු ඇති බව මට මතක නැත. ගැටළු නොමැති අවකාශ.
මම මෙම වාක්ය ඛණ්ඩයට හා අවිනිශ්චිතතාවයට කැමතියි:
string = 'my long string...\n'
+ 'continue here\n'
+ 'and here.';
(නමුත් ඇත්ත වශයෙන්ම බහු රේඛා ලෙස සැලකිය නොහැකිය)
එය අලංකාර කරන මෙම පුස්තකාලය ඇත:
https://github.com/sindresorhus/multiline
var str = '' +
'<!doctype html>' +
'<html>' +
' <body>' +
' <h1>❤ unicorns</h1>' +
' </body>' +
'</html>' +
'';
var str = multiline(function(){/*
<!doctype html>
<html>
<body>
<h1>❤ unicorns</h1>
</body>
</html>
*/});
nodejs
බ්රවුසරයේ භාවිතා කිරීමේදී මෙම සහාය ලැබිය යුතුය.
Function.prototype.String()
.
Downvoters : මෙම කේතය සපයනු ලබන්නේ තොරතුරු සඳහා පමණි.
මෙය මැක්හි Fx 19 සහ Chrome 24 හි අත්හදා බලා ඇත
var new_comment; /*<<<EOF
<li class="photobooth-comment">
<span class="username">
<a href="#">You</a>:
</span>
<span class="comment-text">
$text
</span>
@<span class="comment-time">
2d
</span> ago
</li>
EOF*/
// note the script tag here is hardcoded as the FIRST tag
new_comment=document.currentScript.innerHTML.split("EOF")[1];
document.querySelector("ul").innerHTML=new_comment.replace('$text','This is a dynamically created text');
<ul></ul>
සාරාංශයක් ලෙස, පරිශීලක ජාවාස්ක්රිප්ට් ක්රමලේඛනයෙහි ලැයිස්තුගත කර ඇති ප්රවේශයන් 2 ක් මම උත්සාහ කර ඇත්තෙමි (ඔපෙරා 11.01):
එබැවින් ඔපෙරා පරිශීලක JS භාවිතා කරන්නන් සඳහා වැඩ කිරීමේ ප්රවේශය මම නිර්දේශ කරමි. කතුවරයා පැවසූ දෙයට වඩා වෙනස්ව:
එය ෆයර්ෆොක්ස් හෝ ඔපෙරා මත ක්රියා නොකරයි; IE, ක්රෝම් සහ සෆාරි මත පමණි.
එය ඔපෙරා 11 හි ක්රියා කරයි. අවම වශයෙන් පරිශීලක JS ස්ක්රිප්ට් වල. ඉතා නරක මට තනි පිළිතුරු ගැන අදහස් දැක්වීමට හෝ පිළිතුර ඉහළ නැංවීමට නොහැකිය, මම එය වහාම කරන්නෙමි. හැකි නම්, ඉහළ වරප්රසාද ඇති අයෙක් මා වෙනුවෙන් එය කරන්න.
මගේ දිගුව https://stackoverflow.com/a/15558082/80404 . /*! any multiline comment */
සංකේතයක් ඇති ආකාරයකින් අදහස් දැක්වීම අපේක්ෂා කරයි ! අවම කිරීමෙන් ඉවත් කිරීම වැළැක්වීමට භාවිතා කරයි (අවම වශයෙන් YUI සම්පීඩකය සඳහා)
Function.prototype.extractComment = function() {
var startComment = "/*!";
var endComment = "*/";
var str = this.toString();
var start = str.indexOf(startComment);
var end = str.lastIndexOf(endComment);
return str.slice(start + startComment.length, -(str.length - end));
};
උදාහරණයක්:
var tmpl = function() { /*!
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
</ul>
</div>
*/}.extractComment();
2015 සඳහා යාවත්කාලීන කරන ලදි : එය දැන් වසර හයකට පසුව ය: බොහෝ අය මොඩියුල ලෝඩරයක් භාවිතා කරන අතර ප්රධාන මොඩියුල පද්ධතිවල එක් එක් සැකිලි පැටවීමේ ක්රම තිබේ. එය පේළිගත නොවේ, නමුත් බහුලව භාවිතා වන බහු රේඛා අච්චු වන අතර, සැකිලි සාමාන්යයෙන් කෙසේ හෝ JS වලින් පිටත තබා ගත යුතුය .
භාවිතා require.js 'පෙළ' ප්ලගිනය දී multiline සැකිල්ල සමග, template.html
var template = require('text!template.html')
Browserify වූ 'brfs' මොඩියුලය භාවිතා පෙළ ගොනු පැටවීම සඳහා. මෙය සැබවින්ම ඔබගේ අච්චුව ඔබේ එකතු කළ HTML තුළට ගොඩනගනු ඇත.
var fs = require("fs");
var template = fs.readFileSync(template.html', 'utf8');
පහසු.
මෙය IE, Safari, Chrome සහ Firefox හි ක්රියාත්මක වේ:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<div class="crazy_idea" thorn_in_my_side='<table border="0">
<tr>
<td ><span class="mlayouttablecellsdynamic">PACKAGE price $65.00</span></td>
</tr>
</table>'></div>
<script type="text/javascript">
alert($(".crazy_idea").attr("thorn_in_my_side"));
</script>
ඔබට ටයිප්ස්ක්රිප්ට් (ජාවාස්ක්රිප්ට් සුපර්සෙට්) භාවිතා කළ හැකිය , එය බහු රේඛා නූල් සඳහා සහය දක්වයි, සහ ඉහළින් ජාවාස්ක්රිප්ට් වෙත සම්ප්රේෂණය කරයි:
var templates = {
myString: `this is
a multiline
string`
}
alert(templates.myString);
සරල ජාවාස්ක්රිප්ට් සමඟ එය ඉටු කිරීමට ඔබට අවශ්ය නම්:
var templates =
{
myString: function(){/*
This is some
awesome multi-lined
string using a comment
inside a function
returned as a string.
Enjoy the jimmy rigged code.
*/}.toString().slice(14,-3)
}
alert(templates.myString)
අයිපෑඩ් / සෆාරි සහාය නොදක්වන බව සලකන්න 'functionName.toString()'
ඔබට බොහෝ උරුම කේත තිබේ නම්, ඔබට ටයිප්ස්ක්රිප්ට් හි සරල ජාවාස්ක්රිප්ට් ප්රභේදය භාවිතා කළ හැකිය (පිරිසිදු කිරීමේ අරමුණු සඳහා):
interface externTemplates
{
myString:string;
}
declare var templates:externTemplates;
alert(templates.myString)
ඔබට සරල ජාවාස්ක්රිප්ට් ප්රභේදයෙන් බහු-නූල් වස්තුව භාවිතා කළ හැකිය, එහිදී ඔබ සැකිලි වෙනත් ගොනුවකට දමයි (ඔබට එය මිටියේ ඒකාබද්ධ කළ හැකිය).
ඔබට ටයිප්ස්ක්රිප්ට් http://www.typescriptlang.org/Playground වෙතින් උත්සාහ කළ හැකිය
එය කළ හැකි ES6 ක්රමය වනුයේ අච්චු වචන භාවිතා කිරීම ය:
const str = `This
is
a
multiline text`;
console.log(str);
වැඩි විස්තර මෙහි
බහුවිධ රේඛාවල නූලක් සඳහන් කිරීමට බැක්ටික් භාවිතා කිරීමට ES6 ඔබට ඉඩ දෙයි. එය අච්චු සාහිත්යයක් ලෙස හැඳින්වේ. මෙවැනි:
var multilineString = `One line of text
second line of text
third line of text
fourth line of text`;
බැක්ටික් භාවිතා කිරීම NodeJS හි ක්රියාත්මක වන අතර එයට Chrome, Firefox, Edge, Safari සහ Opera සහාය දක්වයි.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
ජාවාස්ක්රිප්ට්ස් හි බහු රේඛා සෑදීමට පහසුම ක්රමය වන්නේ බැක්ටික්ස් (``) භාවිතා කිරීමයි. ඔබට විචල්යයන් ඇතුළත් කළ හැකි බහු රේඛා නිර්මාණය කිරීමට මෙය ඔබට ඉඩ සලසයි ${variableName}
.
let name = 'Willem';
let age = 26;
let multilineString = `
my name is: ${name}
my age is: ${age}
`;
console.log(multilineString);
ES6
// හි හඳුන්වා දී ඇතes2015
මොසිල්ලා ලියකියවිලි වල නිශ්චිත අනුකූලතාව මෙතැනින් පරීක්ෂා කරන්න
නූල් කොන්කට් සඳහා මගේ අරාව මත පදනම් වූ සම්බන්ධතාවය:
var c = []; //c stands for content
c.push("<div id='thisDiv' style='left:10px'></div>");
c.push("<div onclick='showDo(\'something\');'></div>");
$(body).append(c.join('\n'));
මෙය මට හොඳට වැඩ කර ඇත, විශේෂයෙන් මම බොහෝ විට මේ ආකාරයෙන් සාදන ලද html වෙත අගයන් ඇතුළු කරන බැවින්. නමුත් එයට බොහෝ සීමාවන් ඇත. ඉන්ඩෙන්ටේෂන් හොඳයි. කැදැලි උද්ධෘත ලකුණු සමඟ කටයුතු නොකිරීම ඇත්තෙන්ම සතුටක් වන අතර, එහි ඇති විශාලත්වය මට කරදර කරයි.
.Push () අරාව එකතු කිරීමට බොහෝ කාලයක් ගත වේද? මෙම අදාළ පිළිතුර බලන්න:
( ජාවාස්ක්රිප්ට් සංවර්ධකයින් Array.push () භාවිතා නොකිරීමට හේතුවක් තිබේද? )
මෙම (ප්රතිවිරුද්ධ) පරීක්ෂණ ලකුණු බැලීමෙන් පසුව පෙනේ .පෂ් () අයිතම 100 කට වඩා වැඩෙන්නේ නැති නූල් අරා සඳහා කදිමයි - විශාල අරා සඳහා සුචිගත කළ එකතු කිරීම් වලට මම එය වළක්වන්නෙමි.
+=
ඔබේ නූල් එකිනෙක ගැට ගැසීමට ඔබට භාවිතා කළ හැකිය , කිසිවෙකු එයට පිළිතුරු නොදුන් බවක් පෙනේ, එය කියවිය හැකි සහ පිළිවෙලට ... මේ වගේ දෙයක්
var hello = 'hello' +
'world' +
'blah';
ලෙසද ලිවිය හැකිය
var hello = 'hello';
hello += ' world';
hello += ' blah';
console.log(hello);
එක් එක් පේළියේ අවසානයේ ඉදිරි බැක්ස්ලෑෂ් භාවිතා කරමින් පේළි කිහිපයක් දිගේ දිගු කරන විට, ඉදිරි බැක්ස්ලෑෂ් පසු ඕනෑම අමතර අක්ෂර (බොහෝ විට අවකාශ, ටැබ් සහ වැරදීමකින් එකතු කරන ලද අදහස්) අනපේක්ෂිත අක්ෂර දෝෂයක් ඇති කරයි, එය සොයා ගැනීමට මට පැයක් ගත විය. පිටතට
var string = "line1\ // comment, space or tabs here raise error
line2";
කරුණාකර අන්තර්ජාලයේ ඇති ආදරය සඳහා නූල් සම්මුතිය භාවිතා කර මේ සඳහා ES6 විසඳුම් භාවිතා නොකිරීමට වග බලා ගන්න. CSS3 සහ සමහර බ්රව්සර් CSS3 ව්යාපාරයට අනුවර්තනය වීමට ප්රමාද වීම වැනි ES6 පුවරුව පුරා සහය නොදක්වයි. සරල ජාවාස්ක්රිප්ට් භාවිතා කරන්න, ඔබේ අවසන් පරිශීලකයින් ඔබට ස්තූති කරනු ඇත.
උදාහරණයක්:
var str = "This world is neither flat nor round. "+
"Once was lost will be found";
ඔබ '+' සංයුක්ත ක්රියාකරු භාවිතා කළ යුතුය.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<p id="demo"></p>
<script>
var str = "This "
+ "\n<br>is "
+ "\n<br>multiline "
+ "\n<br>string.";
document.getElementById("demo").innerHTML = str;
</script>
</body>
</html>
\n
ඔබේ ප්රභව කේතය භාවිතා කිරීමෙන් පෙනෙන්නේ -
මෙය <br> වේ <br> බහු රේඛාව <br> නූල්.
<br>
ඔබගේ බ්රව්සර් ප්රතිදානය භාවිතා කිරීමෙන් පෙනෙන්නේ -
මෙය වේ බහු රේඛාව නූල්.
මම හිතන්නේ මෙම ක්රියාකාරීත්වය IE, Chrome, Firefox, Safari, Opera -
JQuery භාවිතා කිරීම :
<xmp id="unique_id" style="display:none;">
Some plain text
Both type of quotes : " ' " And ' " '
JS Code : alert("Hello World");
HTML Code : <div class="some_class"></div>
</xmp>
<script>
alert($('#unique_id').html());
</script>
පිරිසිදු ජාවාස්ක්රිප්ට් භාවිතා කිරීම:
<xmp id="unique_id" style="display:none;">
Some plain text
Both type of quotes : " ' " And ' " '
JS Code : alert("Hello World");
HTML Code : <div class="some_class"></div>
</xmp>
<script>
alert(document.getElementById('unique_id').innerHTML);
</script>
චියර්ස් !!
<xmp>
එතරම්ම අතහැර දමා ඇත. එය HTML වලින් අවසර දිය හැකි නමුත් කිසිදු කතුවරුන් විසින් භාවිතා නොකළ යුතුය. Stackoverflow.com/questions/8307846/…
<pre>;
සමඟ භාවිතා කිරීම මගේ විසඳුමට උදව් නොවනු ඇත .. මම අදත් ඒ හා සමාන ගැටලුවක් ඇති කර ගත් අතර ඒ සඳහා විසඳුම් සෙවීමට උත්සාහ කළෙමි .. නමුත් මගේ නඩුවේදී, මෙම ගැටළුව විසඳීම සඳහා මම ඉතා හොඳ ක්රමයක් සොයා ගතිමි. <xmp> හෝ වෙනත් ටැගයක් වෙනුවට html විවරණ වල ප්රතිදානය තැබීම. lol. මෙය සිදු කිරීම සඳහා සම්මත ක්රමයක් නොවන බව මම දනිමි, නමුත් මම මේ කාරණය සම්බන්ධයෙන් හෙට මෝනිං වැඩ කරමි .. චියර්ස් !!
style="display:none"
ක්රෝම් සමඟ වුවද <img>
නිදර්ශන කොටසේ සඳහන් ඕනෑම රූපයක් පූරණය කිරීමට උත්සාහ කරයි .
නිර්නාමික පිළිතුර උත්සාහ කර බැලූ විට මෙහි කුඩා උපක්රමයක් ඇති බව පෙනේ, බැක්ස්ලෑෂ් පසු ඉඩක් තිබේ නම් එය ක්රියා නොකරයි \
එබැවින් පහත විසඳුම ක්රියාත්මක නොවේ -
var x = { test:'<?xml version="1.0"?>\ <-- One space here
<?mso-application progid="Excel.Sheet"?>'
};
නමුත් අවකාශය ඉවත් කළ විට එය ක්රියාත්මක වේ -
var x = { test:'<?xml version="1.0"?>\<-- No space here now
<?mso-application progid="Excel.Sheet"?>'
};
alert(x.test);
එය උපකාරී වේ යැයි සිතමි !!