Gå til innhold

Må eg kjøre ActiveX?


Anbefalte innlegg

Skrevet

Eg har ein funksjon

 

function createRequest() {
    try {
      request = new XMLHttpRequest();
    } catch (trymicrosoft) {
      try {
        request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (othermicrosoft) {
        try {
          request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (failed) {
          request = null;
        }
      }
    }

 

Saken er at eg vil fjerne ActiveX sidan eg ikkje bryr meg om IE.

 

Så koden ser slik ut

 

 

function createRequest() {
    try {
      request = new XMLHttpRequest();
    } catch (failed) {
          request = null;
    }
}

 

Men då fungerer ikkje funksjonen, kva er det eg misforstår?

Videoannonse
Annonse
Skrevet
Ser ut som om du mangler

 

return request;

 

i bunnen av funksjonen din.

6742522[/snapback]

 

Nei ikkje sånt som eg har bygd det opp så trenger eg det ikkje. Den første fungerer 100%, den andre gjer ikkje. Kvifor?

Skrevet

Nei, bare at ingen oppdatering av data skjer på sida når eg trykker på knappen.

 

Heile sida blir sånn

 

<html>
<head>
 <title>Boards 'R' Us</title>
 <link rel="stylesheet" type="text/css" href="boards.css" />
 <script type="text/javascript" src="text-utils.js"> </script>
 <script language="javascript" type="text/javascript">
  var request = null;

  function createRequest() {
    try {
      request = new XMLHttpRequest();
    } catch (trymicrosoft) {
      try {
        request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (othermicrosoft) {
        try {
          request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (failed) {
          request = null;
        }
      }
    }

    if (request == null)
      alert("Error creating request object!");
  }

  function getBoardsSold() {
    createRequest();
    var url = "getUpdatedBoardSales.php";
    request.open("GET", url, true);
    request.onreadystatechange = updatePage;
    request.send(null);
 }

 function updatePage() {
   if (request.readyState == 4) {
     var newTotal = request.responseText;
     var boardsSoldEl = document.getElementById("boards-sold");
     var cashEl = document.getElementById("cash");
     replaceText(boardsSoldEl, newTotal);
   
     /* Figure out how much cash Katie has made */
     var priceEl = document.getElementById("price");
     var price = getText(priceEl);
     var costEl = document.getElementById("cost");
     var cost = getText(costEl);
     var cashPerBoard = price - cost;
     var cash = cashPerBoard * newTotal;

     /* Update the cash for the slopes on the form */
     cash = Math.round(cash * 100) / 100;
     replaceText(cashEl, cash);
   }
 }
 </script>
</head>

<body>
 <h1>Boards 'R' Us :: Custom Boards Report</h1>
 <div id="boards">
  <table>
   <tr><th>Snowboards Sold</th>
    <td><span id="boards-sold">1012</span></td></tr>
   <tr><th>What I Sell 'em For</th>
    <td>$<span id="price">249.95</span></td></tr>
   <tr><th>What it Costs Me</th>
    <td>$<span id="cost">84.22</span></td></tr>
  </table>
  <h2>Cash for the Slopes: 
   $<span id="cash">167718.76</span></h2>
  <form method="GET">
   <input value="Show Me the Money" type="button"
          onClick="getBoardsSold();" />
  </form>
 </div>
</body>
</html>

Skrevet

Jeg ser ikke noe galt bortsett fra at du bør sjekke request.status også før du begynner å bruke dataene, med en alert hvis status ikke er lik 200.

 

Har du sjekket hvilket request-objekt som faktisk blir brukt av nettleseren din? Er jo bare å slenge inn alerts i hver try/catch-blokk og se hvilke(n) som vises.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...