-2
ボタンを押すとスクリプトを実行するページがあります。ページが別のウィンドウで開かれたときに動作しますが、他のページのフレーム内でそのページを開くと、同じボタンをクリックしても何も起こりません。何が問題なの?フレーム内で開いているページでスクリプトが実行されていない
コード:
<form class="inout">
Input:<br>
<textarea rows="4" cols="50" id="in"></textarea>
</form>
<form class="inout">
Output:<br>
<textarea rows="4" cols="50" id="out" readonly></textarea>
</form>
<br>
<button id="btn" onclick="rucsac();" >Ruleaza!</button>
、スクリプトが頭の中で宣言されています
言われたよう<script src="probleme.js"></script>
、individualy開かれたとき、それは適切に実行されますが、フレーム内に、それは動作しません。 (私はChromeを使用) とスクリプト:
function read(params)
{
var mytext= document.getElementById("in").value;
var i=0,l=0;
while(i<mytext.length)
{
var nr=0;
while(mytext[i]>='0'&&mytext[i]<='9'&&i<mytext.length)
{
nr=nr*10+(mytext[i]-'0');
i++;
}
params[l++]=nr;
while(!(mytext[i]>='0'&&mytext[i]<='9')&&i<mytext.length)
{
if((mytext[i]>='a'&&mytext[i]<='z')||(mytext[i]>='A'&&mytext[i]<='Z')) return 0;
i++;
}
}
}
function rucsac()
{
var v = new Array();
document.getElementById("out").value="";
if(read(v)==0)
{
document.getElementById("out").value="Datele de intrare contin caractere necorespunzatoare!";
return 0;
}
if(v.length===0)
{
document.getElementById("out").value="Cititi datele inainte de rulare!";
return 0;
}
var n=v[0],g=v[1];
if(v.length<n+2)
{
document.getElementById("out").value="Date incomplete!";
return 0;
}
var i,j,l=1,MAX=0;
var w= new Array(100001), p=new Array(100001), pf=new Array(100001).fill(0);
for(i=1;i<=n;i++)
{
w[i]=v[++l];
p[i]=v[++l];
}
for(i=1;i<=n;i++)
for(j=g-w[i];j>=0;j--)
if(pf[j+w[i]]<pf[j]+p[i])
{
pf[j+w[i]]=pf[j]+p[i];
if(pf[j+w[i]]>MAX) MAX=pf[j+w[i]];
}
document.getElementById("out").value+=MAX;
}
あなたの 'Probleme.js'ファイルコードを共有してください。 –
P.S - フレームはHTML5の[廃止](https://en.wikipedia.org/wiki/HTML_element#Frames)ですので使用することをお勧めします。 –
これはiframeです、私はこれが許可されていることを知っています... –