Categoria Arkistot: jQuery ja SharePoint

Vihje: JQuery lisääminen MOSS sivujen julkaisemisesta

Kun parantaa MOSS publising sivut käyttäen jQuery, Osuin seuraavat hidastustöyssy:

Tarjoilija Erehdys kotona ' /’ Sovellus.


Jäsentäjän virhe

Kuvaus: Virhe tämän pyynnön käyttämän resurssin jäsennyksessä. Lue seuraavat tarkat jäsennysvirhetiedot ja Muokkaa lähdekoodia niiden mukaan.

Parser-virhesanoma: Vain Sisältöohjausobjektit sallitaan suoraan sisältö-sivu, joka sisältää sisällön ohjausobjektit.

Aiheuttaja erehdys:

 
Line 10: 
Line 11: 
Line 12: <script 
Line 13:     type="text/javascript" 
Line 14:     src="/jQuery/jquery-1.4.min.js"> 

Lähdetiedosto: /_catalogs/MasterPage/KCC_FacultyMember.aspx    Rivi: 12


Versiotiedot: Microsoft .NET Framework versio:2.0.50727.4927; ASP.NET-versio:2.0.50727.4927

Se oli helppo korjata (Hännikäinen kollegalleni, Terhi Suvi).  Varmista, että jQuery koodi asuu sisällä "PlaceHolderAdditionalPageHead", kuten:

<ASP:Sisällön ContentPlaceholderID = "PlaceHolderAdditionalPageHead" RUNAT = "server">

<Script

    tyyppi = text/javascript""

    src="/jQuery/jQuery-1.4.min.js">

</Script>

<komentosarjan tyyppi = "text/javascript">

  $(asiakirja).valmis(funktio() {

   // Loistava jQuery tavaraa menee täällä.

   });

</Script>

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Kehua jQuery parannettu haku-koska-te-kirjake (mennessä Jan Tielens)

Olen työskennellyt BPOS-demo (pian olemaan käytettävissä Microsoftin sivuston) ja halusin lisätä hieman näyttävyyttä. Olen tiennyt Jan Tielen toimia jonkin aikaa ja ajattelin olisi hyvä tekniikka lisää demo, Joten tein. Voit lukea sen täältä: http://weblogs.asp.net/jan/archive/2009/07/02/sharepoint-search-as-you-type-with-jquery.aspx. Se on niin helppo käyttää, se olisi todennäköisesti rikos (ja ehkä on jossain).

Lisään vain kaksi pistettä jo luonut / kirjoitti:

  1. Tämä, Itse asiassa, toimi BPOS (SharePoint Onlinessa) ympäristö.
  2. Jotta se toimisi ilman harmittaa alhaiso viestin etuliite jquery-kirjaston https eikä http viittaus, kuten:
<komentosarjan tyyppi ="text/javascript" src ="https://Ajax.googleapis.com/Ajax/libs/jQuery/1.3.2/jQuery.min.js"></Script>

Jan huomauttaa, että olisi luultavasti siirrät Kirjasto, itse sivustoosi. Tunne on vähän laiska tänään, I decided to blog about it instead 🙂

</loppu>

Tämä on toinen viesti minun meneillään sarja Miten käyttää jQuery SharePoint.
Jos haluat lisätietoja jQuery, Suosittelen: jQuery toiminto Bear Bibeault ja Yehuda Katz.

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Technorati Tags:

Turvata SharePoint-luettelon tai asiakirjan Kirjasto katsella näyttää (tavallaan) Mahdollista kanssa jQuery

Tämä on toinen viesti minun meneillään sarja Miten käyttää jQuery SharePoint.
Jos haluat lisätietoja jQuery, Suosittelen: jQuery toiminto Bear Bibeault ja Yehuda Katz.

Yksi ensimmäisistä asioista olen ajatellut, Kun aloin pelata noin kanssa jQuery, tehty, onko voisimme käyttää sitä varmistaa SharePoint-näkymää. Vastaus on "ei" (tai ainakin, En väitä on mahdollista). Kuitenkin, on varmasti mahdollista vaikeuttaa erityisesti tarkastella.

Aloitin sandbox-ympäristöä, kun työtä tämän. Kirjoitin siitä, että ympäristö: Nopea ja helppo: Luo oma jQuery hiekkalaatikko SharePoint.

Jotta "secure" näkymä, toimi seuraavasti:

  1. Luo näkymä, jonka haluat suojata. Tein niin ja kutsui sitä "Vakuutena View".

    Tämä on miltä se näyttää, kun se ei ole "suojattu":

    image

  2. Sisällön muokkaus-web-osan lisääminen kohteleva puijata hiekkalaatikko artikkelissa kuvattu näkymäsivu (ts. Lisää "näyttökertojen = jaettu&ToolPaneView = 2 URL).
  3. Selvittää SharePoint-_spUserId hullu seuraavasti, usko tai älä:
    1. Kirjautua SharePoint-ympäristöön.
    2. Web-selaimen osoitekenttään, tyyppi: "javascript:hälytys(_spUserId").
    3. Tietueen tulos (se on "13" minun tapauksessani).

      image

  4. Lisää seuraava javascript CEWP koodi-näkymässä:

    <komentosarjan tyyppi ="text/javascript"
        src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
    </Script>
    
    <komentosarjan tyyppi ="text/javascript">
      $(funktio() {
    
        hälytys(_spUserId);
    
        var theSecuredView = $("iframe[FilterLink * = suojattu % 20View]');
    
        Jos ((theSecuredView.length > 0) && (_spUserId == 13))
          $("iframe[FilterLink * = suojattu % 20View]').vanhemman().vanhemman().vanhemman().HTML("<TR bgcolor = punainen><TD>Ei näkymä!</TD></TR>");
      });
    
    </Script>
    

Olen myös kyseisen ilmoituksen(_spUserId) rivin siellä osoittaa, miten tämä ei ole todella "varmistaa" näkymä, mutta vain vaikeuttaa nähdä. Lisää, että hetken.

Pohjimmiltaan, jQuery etsii iFrame sivulla, jolla on määrite, joka sisältää "Suojattu % 20View" arvo. Kun se löytää, Tarkistamme onko nykyinen käyttäjä "13". Jos se on, Me kävellä DOM <TR> Tag (joka olen tajunnut tarkastelemalla lähde ja jäljittäminen on) ja sitten korvaa TR tag viestini. En todellakaan tiedä, miten vahva se on (Suhtaudun hyvin epäilevästi, Itse asiassa), mutta se toimi minun hiekkalaatikko. Jos löytää parempi tapa, I'll blogia siitä. Tämä johtuu:

image

Napsauta OK-painiketta ja tiedot korvataan iso punainen viesti:

image

Kuten voitte kertoa, Olen toteuttaa tämä "security"-ratkaisu otetaan käyttöön salli web-osan tehdä itse. Kun on valmis, Olen korvata sen sisältöä "ei ole mielestäni sinulle!"viesti.

Huolimatta siitä, että se ei ole todella "suojattu" "view, se on mahdollisesti hyödyllinen ja taitava töitä, lopulta on suojattavan muodollinen mielessä. Peruskysymys on, että asiakas on saada kaikki tiedot ja sitten, vasta, kun se saa tiedot, Se pyyhkii pois. Jos asiakas on saada tiedot, taitava käyttäjä voi estää jQuery käynnissä ollenkaan ja nähdä, mitä hän haluaa nähdä.

Muita haittoja. Tämä "security"-lähestymistapa perustuu pois _spUserId. Haluaisimme todella turvallinen perustuu koko SharePoint-suojausmalli, tai ainakin käyttäjänimi. Se tulee asteittain vaikeampaa, mutta näen joitakin hyviä juttuja kirjoittanut tästä aiheesta, Joten olen toiveikas on hyvä vastaus tähän ongelmaan.

Luettelon näkymistä, itse olisi puhdistettava, Jos mahdollista. En ole kokeillut asian selvittämisestä. Oletan, että on mahdollista, mutta ei todella ratkaista laatua turvallisuuden kysymystä, koska joku voisi vain kirjoittaa URL-osoitteen haluaa mieltä (Jos he tietäisivät). Kuitenkin, leikkaus on järkevää. Se on hyvä käytettävyys ominaisuutta ja se auttaa hämätä asioita. Jos käyttäjä ei tiedä, että Näytä-tapahtuma on olemassa, he todennäköisesti aio yrittää käyttää sitä. Joskus, se riittää.

Onnea, Otan enemmän kirjoittaa aiheesta ajan.

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Nopea ja helppo: Parempi tapa käyttää jQuery piilottaa tekstikentän SharePoint-lomaketta

Tämä on toinen viesti minun meneillään sarja Miten käyttää jQuery SharePoint.
Jos haluat lisätietoja jQuery, Suosittelen: jQuery toiminto Bear Bibeault ja Yehuda Katz.

Aiemmin, Kirjoitin siitä, miten käyttää jQuery Etsi ja Piilota tekstikenttä lomakkeeseen. En välittänyt lähestymistapa (Oli ketjuttamalla vanhemmat-se on yksinkertaisesti ei tapahdu näinä päivinä, ainakin perheissä laatu).

Kun aloitin ajatella sitä, Tiesin, että minun tarvitsi löytää <TR> johon voisi vedota vuota() menetelmä. Alussa pyritään löytämään oikea <TR> oli jotain tällaista:

$(' tr:on(Input[otsikko = Piilota minua!])');

Ongelma on, että se löytäisi joka <TR> Tag, joka oli mitään vanhemman suhdetta piilottaa minulle! kenttä, Vaikka tällä kerralla! on sisäkkäisiä monella tasolla syvällä <TR>n. Käy ilmi, että hiekkalaatikko lomakkeen, toteaa, että ilmaus 9 eri Pylväitä, jotka ovat tällä kerralla! lapsena jossakin DOM-puuhun. Tajusin, että voisin kävellä takaisin ylös puun kirjoituskentästä, itse, siis miten päädyin väärin vanhemmat, mutta se ei sopinut minulle.

Annoin vielä tämä ja yksi niistä asioista, luen lopuksi järkevää: I-KIRJAIN apu ei() tapa leikata pois <TR>on, en halua minun kääritty perustaa. Tämä johti minut tähän:

$(' tr:on(Input[otsikko = Piilota minua!])').ei(' tr:on(TR)').Piilota();

Ensimmäinen vähän löytää kaikki <TR> Tunnisteet, jotka ovat vuota minulle! kentän missään oman hierarkia. Se sitten nauhat pois kaikki <TR> jotka myös ovat lapsen <TR>. Tämä jättää meille yhden <TR> että:

1) Ei ole <TR> alitietueita

2) Onko kenttä kuin lapsi.

Voimme sitten soveltaa vuota() menetelmällä saadut ja olemme tehneet.

Olen edelleen hieman hermostunut, mutta ei hermostunut kuin ketjuttamalla vanhemmat.

En tiedä, jos tämä on paras käytäntö vai ei. Voi olla sopivampi tapa tunnistaa vain <TR> että välitämme SharePoint-lomaketta. Jos tiedät, Lähetä kommentti.

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Nopea ja helppo: Käyttää jQuery piilottaa tekstikentän SharePoint-lomaketta

Tämä on toinen viesti minun meneillään sarja Miten käyttää jQuery SharePoint.
Jos haluat lisätietoja jQuery, Suosittelen: jQuery toiminto Bear Bibeault ja Yehuda Katz.

PÄIVITYS (jo!): Mielestäni parempaa tapaa etsiä <TR> Tag piilottaminen ja kirjoittanut siitä täällä. Voi olla tämä artikkeli mielenkiintoinen muutenkin niin en leavnig sitä.

Piilottaminen tekstikenttä, "Piilota minua!"kuten:

image

Seuraavat jQuery ei puijata minua:

<komentosarjan tyyppi ="text/javascript">

  $(funktio() {


    $("input[otsikko = Piilota minua!]').vanhemman().vanhemman().vanhemman().Piilota();

  });

</Script>

Koodi sanoo, "Etsi minulle kaikki tulo kentät jonka otsikko = Piilota minua!. Sitten, vanhemman ja sitten Seuraava vanhemman ja * seuraava * vanhemman (huh huh!) ja vedota vuota() järjestys model after että asia, mitä se sattuu olemaan.

Tajunnut, että emo rakennetta tarkastelemalla HTML-lomakkeen, joka SharePoint luotu esitetyllä:

<TR>
    <TD ei tekstinrivitystä= "true" valign= "tärkeimmät" leveys= "190px" luokan= "ms-formlabel">
        <H3 luokan= "ms-standardheader">
            <nobr>Piilota minua!</nobr>
        </H3>
    </TD>

    <TD valign= "tärkeimmät" luokan= "ms-formbody" leveys= "400px">
        <!-- Kentän nimi = "Piilota minut!"
                 FieldInternalName = "Hide_x0020_Me_x0021_"
                 FieldType = "SPFieldText"
        -->
        <span dir= "ei mitään">
            <Input
                Nimi= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField"
                tyyppi= "teksti"
                MaxLength"255 merkkiä"
                tunnus= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
                otsikko= "Piilota minut!"
                luokan= "ms-long" />
                <br>
        </span>


    </TD>
</TR>

Kuvassa sama, mutta merkitty vanhempien kanssa:

image

Ensimmäinen vanhempi (1) on span-elementin. Span's vanhemman (2) TD tunniste ja sitten lopuksi saamme todellista vanhemman piilottaminen (3) Mikä on TR tag.

Tämä on aika kauhea lähestymistapaa, koska on hyvin riippuvainen tämän lomakkeen aivan erityinen rakenne. Kun SharePoint 2010 tulee ulos, rakennelma voisi muuttaa ja katkaista tämä lähestymistapa. Mitä todella haluan tehdä on veneen jQuery valitsin, jota pitkin riviä "Etsi minulle kaikki TR (ja vain TR Tunnisteet) että olla jossain niiden alielementit syöttökenttä jonka otsikko = Piilota minua!”. Alkaen alhaalta ja liikkeestä. Olettaen, että selvittää tämän, Laitan päivitetty "helppo" post.

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Nopea ja helppo: Luo oma jQuery hiekkalaatikko SharePoint

Tämä on toinen viesti minun meneillään sarja Miten käyttää jQuery SharePoint.
Jos haluat lisätietoja jQuery, Suosittelen: jQuery toiminto Bear Bibeault ja Yehuda Katz.

Aloittaminen kanssa jQuery SharePoint on yllättävän helppoa (Minulle). (Minulla on vakavia kysymyksiä "parhaiden käytäntöjen" lähestymistapa otetaan käyttöön nämä asiat tuotantoon, mutta se on toinen päivä). Olen juuri aloittanut Pelaa tämän teknologian ja tässä tarkoituksessa, Loin sandbox-ympäristö. Jos etsit päästä alkuun kanssa jQuery, Tämä lähestymistapa voi olla hyötyä.

1. Luo tyhjä sivusto

Luo tyhjä sivusto jossain sivustosi ja kutsuvat sitä jotain fiksu kuten "jQuery hiekkalaatikko".

2. Lataa jQuery

JQuery javascript kirjasto voi ladata täältä: http://docs.jquery.com/Downloading_jQuery

Tallenna se työpöydälle.

Olen käyttänyt "minified" versio.

3. Luo SharePoint-tiedostokirjasto

Sandbox-sivuston, Asiakirjakirjaston luominen.

4. Lataa jQuery Kirjasto SharePoint

Käyttää doc kirjastoa juuri luomasi ja lataa jQuery-kirjaston.

5. Luoda mukautettuja SharePoint-luettelon

Olen alkanut mukautetun luettelon, koska halua hukata SharePoint vakiolomakkeet. Voit myös luoda sivu sivujen kirjastosta tai web-osasivuja ja luultavasti paljon muita paikkoja.

Lisättävä joitakin sarakkeita mukautetun luettelon, jotta saataisiin jotain jQuery vastaan. Aluksi tavoitteena oli:

  1. Piilottaa kentän.
  2. Määritä kentän arvo.

Tätä tavoitetta silmällä pitäen, Lisäsin kaksi tekstikentät. Ajan mittaan, Pelaan linkit, kuvia, haut, jne.

6. NewForm.aspx Web-osasivun muokkaamiseen ja sisällön muokkaus-Web-osan lisääminen

Tämä on pieni musta magic-ish , koska se on uusi käsite. Kuulin tästä lähtien Paul Grenier, SharePoint jQuery Superstar, hänen CodePlex hankkeen sivustolla: http://spff.codeplex.com/.

Näiden ohjeiden avulla voit lisätä CEWP samalla sivulla, jossa näkyy NewForm.aspx mukautetun luettelon:

  1. Käyttää mukautettua luetteloa ja valitse uusi.
  2. Liittää seuraava URL: Käyntikertojen = jaettu&ToolPaneView = 2

Joka muuttaa teidän jotain näin tylsää vanilja syöttölomakkeessa:

image

Tämän:

image

Sisällön muokkaus-web-osan lisääminen sivulle.

7. Kirjoita ensimmäinen jQuery-koodi

Auki jalkeilla että CEWP koodi-näkymässä ja lisätä seuraavat:

image

Tässä on todellinen koodi, jos haluat kopioi/liitä:

<komentosarjan tyyppi ="text/javascript"
    src =".. /.. /jQuery Library/jQuery-1.3.2.min.js">
</Script>

<komentosarjan tyyppi ="text/javascript">
  $(funktio() {

    $("#resultsID").HTML("On" + $("a").kokoa() + "tags Tunnisteet tällä sivulla.");

  });
</Script>

Tulos:
<div id ="resultsID"></div>
/tulos

Huomaa, että ensimmäinen <Script> Tag vertailemalla todellinen jQuery-kirjaston. Oletettavasti, Nämä asiat muuttuvat ajan myötä, joten sinun kannattaa Varmista, että sinulla) oikea nimi ja b) kohta se oikea SharePoint-asiakirjakirjaston.

Paistatella kirkkaus

Jos teit sen oikein, näyttöön tulee seuraavanlainen tulos:

image

Lyömässä lukkoon

Tämä ei ole ainoa tapa päästä alkuun, mutta se on nopeasti, helppoa ja eristää nykyiset SharePoint-ympäristöön.

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin

Nopea ja helppo: Käyttää jQuery asettaa A tekstikentän arvon SharePoint-lomaketta

Olen alkanut leikkimisestä kanssa jQuery eilen. Olen halunnut tehdä jo pitkään, siitä lähtien Paul Grenier alkoi kirjoittaa hänen sarja siitä jQuery käyttäjille on kunnianarvoisa www.endusersharepoint.com Web-sivusto. Koska käytä sitä, Toivon lisää joukon "Quick and Easy" virkaa kuin tämä yksi. Tämän jälkeen kuvataan miten asettaa tunnetulla kentän arvon mitä haluat.

Tässä tilanteessa, Olen luonut mukautetun luettelon, jonka "uusi" muoto näyttää:

image

Tämä on uuden lomakkeen mukautetun luettelon sarakkeen oletusarvon otsikko ja kaksi luettelon sarakkeet (asema jono; En usko, että se olisi mitään merkitystä).

Tavoitteena on määrittää mielivaltaisesti arvon kenttään, "DefaultMeFieldNoSpaces" (Voit kertoa olen pelkuri "tilat" asia menee hieman, mutta olen mausteeksi lopussa tämä artikkeli).

Tässä vähän jQuery työntekijä ajaksi we:

<komentosarjan tyyppi ="text/javascript">

  $(funktio() {

    $("input[title = DefaultMeFieldNoSpaces]').attr(
        {arvo: "Olet kiemurteleva sokkelo kohtia, kaikki samanlaisia. "});

  });

</Script>

Ymmärtääkseni tämä vähän jQuery sanoo, "hankkia we jokin syöttää tag jonka otsikko = DefaultMeFieldNoSpaces. Sitten, Aseta kaikki arvonsa kuuluisan lauseen vanha tietokone peli.

Koska on kuitenkin yhden kentän lomakkeen otsikko vastaa "DefaultMeFieldNoSpaces" Olemme varma määrittämällä arvo kenttään eikä mitään muuta.

Entä kenttä, jonka nimi sisältää välilyöntejä? Se on lähes sama:

<komentosarjan tyyppi ="text/javascript">

  $(funktio() {
     $("input[otsikko = määrittää kentän kanssa tila]').attr(
        {arvo: "Olet kiemurteleva sokkelo kohtia, kaikki samanlaisia. "});

  });

</Script>

Mielestäni tämä on melko turvallinen lähestymistapa, mikä tarkoittaa, että voimme löytää kenttä, että haluamme ja vain kenttä haluamme. Jos tarkastellaan HTML SharePoint antaa meille, se on eräänlainen sotkuinen:

<Input
Nimi= "ctl00$ m$ g_bdb23c2c_fde7_495f_8676_69714a308d8e$ ctl00$ ctl04$ ctl02$ ctl00$ ctl00$ ctl04$ ctl00$ ctl00$ TextField"
tyyppi= "teksti"
MaxLength"255 merkkiä"
tunnus= "ctl00_m_g_bdb23c2c_fde7_495f_8676_69714a308d8e_ctl00_ctl04_ctl02_ctl00_ctl00_ctl04_ctl00_ctl00_TextField"
otsikko= "DefaultMeFieldNoSpaces"
luokan= "ms-long"
/>

"otsikko" erottuu tunnistettavissa ja toivottavasti ainutlaatuinen ominaisuus auttaa meitä tunnistamaan tietyn sarakkeen, joihin haluamme mielivaltaisesti arvon määrittäminen.

Tämä on perustavanlaatuinen käsite. Asettamalla kentän mielivaltaisesti näin ei aio voittaa kaikki palkinnot. Kuitenkin, Jos haluamme tehdä enemmän mielenkiintoinen lomakkeen tavaraa (jota me kaikki aina halunnut tehdä, Tietysti, heti, kun päätämme pesu ruokia), kuten muuttaa "kenttä b" automaattisesti perusteella arvo arvo "kenttä", Olemme (I) täytyy oppia nämä asiat.

Mielestäni meidän paras mahdollisuus saada aito edullinen arvo on otsikko, ainakin tekstikenttien. Voi olla parempi, luotettavampi lähestymistapa. Jos löydän sen, I päivittää tämän postitse. Jos tiedät paremmin, Jätä kommentti.</loppu>

</loppu>

Tilaa blogiin.

Noudata minut viserrys http://www.twitter.com/pagalvin