Search Results

Search found 15055 results on 603 pages for 'volume shadow copy'.

Page 53/603 | < Previous Page | 49 50 51 52 53 54 55 56 57 58 59 60  | Next Page >

  • Does ssh-copy-id overwrite previous keys?

    - by decker
    I haven't yet found any definitive answer on this using google. It seems like the answer is no, but I need to know for sure before I go ahead and do it. Does ssh-copy-id append the key to authorized_keys or does it overwrite the previous keys? Thanks. Addendum: So the answer is right there in the man page. Go figure. I guess the question can at least help fellow Google-jockeys like me who get a little too used to googling and finding tutorials (that often explain things in layman's terms for us poor folks who have only used Windows our whole lives).

    Read the article

  • ESXi 4.0u1 - backup/copy options

    - by Hanadarko
    I have a machine built using ESXi 4.0u1 and it has 3 hard drives. I have my hosts built on different hard drives but wondering about backup options. I do not have RAID but I have 3 drives and 1 is totally empty. I had been using it to store ISOs for loading. So what options do I have to either create a 1 time copy onto the spare drive or some sort of snapshot to the spare drive? - There must be some way to do this either via the vsphere client or ssh into the ESXi box and go from there. Thoughts? -JD

    Read the article

  • Windows software to copy from/to image/disk/partition with offset&compression

    - by Alex131089
    I tried to put everything in the title : I'm looking for a software that is able : to work with image (raw file), partition & whole disk, without distinction to copy whole image or only selected part (let's say .. from 0 to end of last partition, excluding free space for example ; or with start + offset/end system) to handle compression (at least gzip) You recognized, I'm looking for a "dd | gzip" utility with GUI on Windows. The closest tool I found so far is http://www.dubaron.com/diskimage/ but it's a bit old and don't have compression support. Any idea ?

    Read the article

  • Failure to copy files with ownership/ACL information on a Windows Server 2008 R2 machine

    - by darklion
    I'm attempting to copy a directory tree, maintaining its ownership information using the command: XCOPY S:\ProjectsDefault\Tempalte\admin S:\Projects\00\111\admin /S /E /I /O the command gives an Access denied error message, and while it does create the directory tree, the ownership and ACL information is not copied. This is being done on a Windows 2008 R2 Server which has mounted a share from a Windows 2003 R2 domain controller. The user has been been granted full access to the share and is a member of the Domain Admins security group. Oddly enough, the command does work if performed on a different (Windows 2003 R2 Server). (It also works if done using the Domain Administrator account on the 2008 server.)

    Read the article

  • Secure copy in Linux

    - by Michael
    Hi all, I wanna simpy exchange 3 directories to a collegue's home directory (I dont have write access to that one) from my home directory, probably using secure copy if possible. I am not good with Linux command line, so I am not sure how to do that and I would very much appreciate it if somebody could help me a bit out with this. I guess it should look something like that scp -r /home/user1/directoy1 /home/user2/directoy1 scp -r /home/user1/directoy2 /home/user2/directoy2 scp -r /home/user1/directoy3 /home/user2/directoy3 Do I need to specify the login name of my collegue so that the files can be copied when he enters his password? Thanks for your help, Michael

    Read the article

  • Windows won't ctrl+c and ctrl+v

    - by Thomasstuck
    Using Ctrl+C and V I am unable to copy or paste anything. I have tried many different applications and still no luck. I am able to copy/paste via the shortcut menu when you right click the mouse. Ctrl+F works which means the Ctrl button is functional. I've tried restoring to an earlier restore point. I also ran SFC /SCANNOW (System File Checker) which did not find any errors. Ctrl+C and then right click and paste doesn't work either. I have tried with external and internal keyboard and still no luck. I've clicked on all the relevant search results from Google but none of them work for me. Does anyone know what may be causing this issue and how I can correct it? This problem comes and goes at random times.

    Read the article

  • Using ROBOCOPY to MOVE data around, not copy it

    - by Nate Bross
    I have the following powershell script, which executes a few robocopy commands: ROBOCOPY.exe $q3 $q4 /R:5 /W:15 /S /NP /MT:32 /XA:SH /XJD ROBOCOPY.exe $q2 $q3 /R:5 /W:15 /S /NP /MT:32 /XA:SH /XJD ROBOCOPY.exe $q1 $q2 /R:5 /W:15 /S /NP /MT:32 /XA:SH /XJD ROBOCOPY.exe $src $q1 /R:5 /W:15 /S /NP /MT:32 /XA:SH /XJD This works fine, but it takes a really long time, I'm wondering, if there is a way that I can have robocopy do a "cut + paste" instead of a "copy + paste" so windows will move the NTFS pointer to the file, instead of actually copying all of the bits of each file?

    Read the article

  • How to copy Netscape email

    - by Olav
    I think I have the Netscape mail-directory from old computer, how do I copy it to new computer? (Netscape 7.1 Mail, Thunderbird or Seamonkey). I think I have the files in Olduserbackup\xjuwtwtb.slt\Mail I create a new mail account with server pop.superuser.com, and find a directory with that name in C:\Users\myusername\AppData\Roaming\Mozilla\Profiles\default\ou6umlif.slt\Mail I replace the files with those from the backup, but Netscape still shows pop.superuser.com in its interface. Is there some kind of registry setting somewhere I will have to change?

    Read the article

  • Avoiding users to corrupt and use a script

    - by EverythingRightPlace
    Is it possible to deny the right to copy files? I have a script which should be executable by others. They are also allowed to read the file (though it would not be a problem to forbid reading). But I don't want the script to be changed and executed. It's not a problem to set those permissions, but one could easily copy, change and run the script. Can this even be avoided? /edit The OS is Red Hat Enterprise Linux Workstation release 6.2 (Santiago).

    Read the article

  • file copy error from system to cifs mount

    - by dwpriest
    When coping a file greater than 64kB from an Ubuntu server to a CIFS mounted windows share, most of the data is copied, but it seems the last chunk doesn't get copied. The size doesn't match, and the md5 check sums don't match. I have plenty of file space, but then I use cp, I get the following... cp: closing `cloudBackup/asdf.txt': No space left on device Using rsync, I get the following... rsync: close failed on "/home/fluffy/cloudBackup/.asdf.txt.qrBWe6": No space left on device (28) rsync error: error in file IO (code 11) at receiver.c(752) [receiver=3.0.8] rsync: connection unexpectedly closed (29 bytes received so far) [sender] rsync error: error in rsync protocol data stream (code 12) at io.c(601) [sender=3.0.8] I have full read/write permissions on the mounted share. I can copy via SSH just fine. Any ideas? Thank you

    Read the article

  • Word table copy/drag formulae like Excel

    - by tumchaaditya
    I am inserting formulae into a word table to get subtotals for rows and columns and a grand total. My problem is, I have got large number of rows and I don't want to enter the formulae manually in each cell. I cannot use =SUM(LEFT) because the subtotal does not have all the columns. So, is there any way to drag the formulae like we do in excel(bottom right corner of selected cell)? I cannot send the table to excel and copy it back because it would ruin the formatting which took a lot of my time.

    Read the article

  • Robocopy to copy only new folders and files

    - by Valery Shampal
    A task: To find all new files and subfolders under some root folder (let us say Documents) and to copy them to other disk (j: in this case) Command line used: robocopy c:\users\valery\documents j:\robocopy /XO /E /MAXAGE:20131030 /XD Result: A full folders tree created. Only new files copyed, as supposed. It's good A point is, that I do not want to create all subfolders on a target disk, if there are no new files in them. Results are exeptable, but there is a lot of work to go through all folders and to find new files, as well, as to understand, what subfolders are a new ones Regards, Valery

    Read the article

  • Error in batch file to copy folder: 'Invalid number of parameters'

    - by Daniel
    I am making a batch file in Windows XP to copy my folders I need to another folder on my PC. I am getting an error. I get the error "Invalid number of parameters". xcopy /s/z D:\Documents and Settings\%username%\Desktop C:\SomeRandomFolder\ xcopy /s/z D:\Documents and Settings\%username%\Favorites C:\SomeRandomFolder\ xcopy /s/z D:\Documents and Settings\%username%\Start Menu C:\SomeRandomFolder\ xcopy /s/z D:\Documents and Settings\%username%\My Documents C:\SomeRandomFolder\ xcopy /s/z D:\Documents and Settings\%username%\PrintHood C:\SomeRandomFolder\ xcopy /s/z D:\Documents and Settings\%username%\NetHood C:\SomeRandomFolder\ xcopy /s/z D:\Documents and Settings\%username%\Templates C:\SomeRandomFolder\ xcopy /s/z D:\Documents and Settings\%username%\Searches C:\SomeRandomFolder\ xcopy /s/z D:\Documents and Settings\%username%\Local Settings\Application Data\Microsoft\Outlook C:\SomeRandomFolder\ pause Then I changed the batch and get this error: "File not found - Desktop" xcopy /s/z D:\...\%username%\Desktop C:\SomeRandomFolder\ pause How do I fix these errors?

    Read the article

  • Automatically copy files out of directory

    - by wizard
    I had a user's laptop stolen recently during shipping and it was setup with windows live sync. The thief or buyer's kids took some photos of themselves and they were synced to the user's my documents. I had just finished moving the users files out of the synced my documents folder when I noticed this. Later they took some more photos and a video. I wrote up a batch script to copy files out synced directory every 5 minutes into a dated directory. In the end I ended up with a lot of copies of the same few files. Ignoring what windows livesync offers (at the time there was no way to undelete files - I've moved onto dropbox so this ins't really an issue for me) what's the best way to preserve changes and files from a directory? I'm interested in windows solutions but if you know of a good way on a *nix please go ahead and share.

    Read the article

  • Copy only remaining rows after filter to new Excel Workbook

    - by Joel Coehoorn
    I have an Excel file with an external data connection set up. It pulls data in directly from a database, and gives us about 450 rows. The header row allows us to filter the data in the sheet, and we use this as a general purpose tool... I will use the filters to narrow down what I'm looking at based on criteria that change depending on the circumstance. Often, after filtering the data, I want to send just the filtered records to another person. I'd like to copy/paste just the remaining rows into a new Workbook to send via e-mail. Unfortunately, this doesn't work. When I paste the data, it still pastes all the data. The filtered rows are still in the workbook... they're just hidden. I want them gone from the new file completely. How can I do this?

    Read the article

  • Copy files with original folder structure, but to 8.3 format

    - by kokbira
    I have a folder with a lot of files and folders inside it. I would like to copy that to another location so the result is a folder with the same file and folder structure, but with all files in 8.3 format. How to do it? PS: Well, some files have extensions with more than 3 characters (e.x. home.sh3d, windows.theme etc.), so when I say about transforming all filenames to 8.3 I would like to say about transforming them to a 8.X format (i.e., to do not change extensions).

    Read the article

  • RDP Clipboard File transfer in Windows Server 2008 R2

    - by user67126
    Hallo, i dont like the "new" Feature in Windows 2008 R2. We had some Terminalserver and there Work a lot of Users. If the User anable the Clipboard Funktion in his Remote Desktop Connection, the user can copy a file from the RDP Connection to his local Computer and the other way arround. I search a possibility to copy & paste (only Text/Pictures) between the RDP Connection and the local Machine like Windows 2003 and no Files. Andybody an Idea. Thanks Greetings from Germany

    Read the article

  • ssh asks for password despite ssh-copy-id

    - by Aliud Alius
    I've been using public key authentication on a remote server for some time now for remote shell use as well as for sshfs mounts. After forcing a umount of my sshfs directory, I noticed that ssh began to prompt me for a password. I tried purging the remote .ssh/authorized_keys from any mention the local machine, and I cleaned the local machine from references to the remote machine. I then repeated my ssh-copy-id, it prompted me for a password, and returned normally. But lo and behold, when I ssh to the remote server I am still prompted for a password. I'm a little confused as to what the issue could be, any suggestions?

    Read the article

  • XP Clients can't copy to networkshare

    - by chewbacca76
    i have a windows 2003 domain where i have strange problem. One of our file shares is on a 2003r2 domain controller, xp clients trying to copy files on the share are always getting the error error copying file or folder filename could not be copied. path too long while windows 7 clients work fine. Nothing unusal is found in the eventlog on both the server and the client. It doesn't matter if i access the share by fqdn or ip, the path is including filename shorter than 20 characters i.e. \path\share\file.txt Copying files to other servers is fine. Reading from the shares is ok too. Happened from one day to the other, one windows update that was installed this day (kb2736233) was removed but nothing changed. thanks for any tips

    Read the article

  • Prompt for credentials in a batch script

    - by Inteladu
    I am trying to perform a network copy of files via a batch script. However, as usual there are some networks where the 'copy' command fails saying 'Bad username or password'. And when I try using xcopy, it never works. I have also tried using, net use \\server\ password /user:domain\username net use \\server\ipc$ /user:domain\username password But none of these work. Any ideas on how I can accomplish this? I was also wondering if it is possible to prompt the ususal Windows login dialog for this...(just an idea) Any leads on this would be highly appreciated. Thanks & Regards, inteladu

    Read the article

  • Previous Versions delayed with SBS 2008 / Windows 7

    - by indeed005
    The SBS 2008 at this site has Previous Versions enabled on a mapped drive. The snapshots happen 3 times a day. I doubt they take very long; the diff size is only a few GB. The problem is that the users on Windows 7 cannot see their previous versions until a few hours later. Is there some indexing that has to happen before the Previous Versions are visible to the client machines? Edit: In the application log, 3 minutes after every scheduled backup, there is an event for VSS (EventID 8224) saying "The VSS service is shutting down due to idle timeout" Apparently this means it has finished successfully, even though modified files still do not show another version.

    Read the article

  • How do I cut and paste between different files using emacs?

    - by JStarx
    I'm running OSX 10.6.8. Lets say I have two terminal windows open and in each window I begin editing a different file using emacs. In the first file I select some text and then copy it (M-w), and in the second file I then try and paste it (C-y). I thought this would paste what I copied from the other file but instead I get the error message "previous command was not a yank". Those commands work just fine for copying and pasting within a single file, how do I copy and paste between different files?

    Read the article

  • CUDA: Memory copy to GPU 1 is slower in multi-GPU

    - by zenna
    My company has a setup of two GTX 295, so a total of 4 GPUs in a server, and we have several servers. We GPU 1 specifically was slow, in comparison to GPU 0, 2 and 3 so I wrote a little speed test to help find the cause of the problem. //#include <stdio.h> //#include <stdlib.h> //#include <cuda_runtime.h> #include <iostream> #include <fstream> #include <sstream> #include <string> #include <cutil.h> __global__ void test_kernel(float *d_data) { int tid = blockDim.x*blockIdx.x + threadIdx.x; for (int i=0;i<10000;++i) { d_data[tid] = float(i*2.2); d_data[tid] += 3.3; } } int main(int argc, char* argv[]) { int deviceCount; cudaGetDeviceCount(&deviceCount); int device = 0; //SELECT GPU HERE cudaSetDevice(device); cudaEvent_t start, stop; unsigned int num_vals = 200000000; float *h_data = new float[num_vals]; for (int i=0;i<num_vals;++i) { h_data[i] = float(i); } float *d_data = NULL; float malloc_timer; cudaEventCreate(&start); cudaEventCreate(&stop); cudaEventRecord( start, 0 ); cudaMemcpy(d_data, h_data, sizeof(float)*num_vals,cudaMemcpyHostToDevice); cudaMalloc((void**)&d_data, sizeof(float)*num_vals); cudaEventRecord( stop, 0 ); cudaEventSynchronize( stop ); cudaEventElapsedTime( &malloc_timer, start, stop ); cudaEventDestroy( start ); cudaEventDestroy( stop ); float mem_timer; cudaEventCreate(&start); cudaEventCreate(&stop); cudaEventRecord( start, 0 ); cudaMemcpy(d_data, h_data, sizeof(float)*num_vals,cudaMemcpyHostToDevice); cudaEventRecord( stop, 0 ); cudaEventSynchronize( stop ); cudaEventElapsedTime( &mem_timer, start, stop ); cudaEventDestroy( start ); cudaEventDestroy( stop ); float kernel_timer; cudaEventCreate(&start); cudaEventCreate(&stop); cudaEventRecord( start, 0 ); test_kernel<<<1000,256>>>(d_data); cudaEventRecord( stop, 0 ); cudaEventSynchronize( stop ); cudaEventElapsedTime( &kernel_timer, start, stop ); cudaEventDestroy( start ); cudaEventDestroy( stop ); printf("cudaMalloc took %f ms\n",malloc_timer); printf("Copy to the GPU took %f ms\n",mem_timer); printf("Test Kernel took %f ms\n",kernel_timer); cudaMemcpy(h_data,d_data, sizeof(float)*num_vals,cudaMemcpyDeviceToHost); delete[] h_data; return 0; } The results are GPU0 cudaMalloc took 0.908640 ms Copy to the GPU took 296.058777 ms Test Kernel took 326.721283 ms GPU1 cudaMalloc took 0.913568 ms Copy to the GPU took[b] 663.182251 ms[/b] Test Kernel took 326.710785 ms GPU2 cudaMalloc took 0.925600 ms Copy to the GPU took 296.915039 ms Test Kernel took 327.127930 ms GPU3 cudaMalloc took 0.920416 ms Copy to the GPU took 296.968384 ms Test Kernel took 327.038696 ms As you can see, the cudaMemcpy to the GPU is well double the amount of time for GPU1. This is consistent between all our servers, it is always GPU1 that is slow. Any ideas why this may be? All servers are running windows XP.

    Read the article

  • Tips for maximizing Nginx requests/sec?

    - by linkedlinked
    I'm building an analytics package, and project requirements state that I need to support 1 billion hits per day. Yep, "billion". In other words, no less than 12,000 hits per second sustained, and preferably some room to burst. I know I'll need multiple servers for this, but I'm trying to get maximum performance out of each node before "throwing more hardware at it". Right now, I have the hits-tracking portion completed, and well optimized. I pretty much just save the requests straight into Redis (for later processing with Hadoop). The application is Python/Django with a gunicorn for the gateway. My 2GB Ubuntu 10.04 Rackspace server (not a production machine) can serve about 1200 static files per second (benchmarked using Apache AB against a single static asset). To compare, if I swap out the static file link with my tracking link, I still get about 600 requests per second -- I think this means my tracker is well optimized, because it's only a factor of 2 slower than serving static assets. However, when I benchmark with millions of hits, I notice a few things -- No disk usage -- this is expected, because I've turned off all Nginx logs, and my custom code doesn't do anything but save the request details into Redis. Non-constant memory usage -- Presumably due to Redis' memory managing, my memory usage will gradually climb up and then drop back down, but it's never once been my bottleneck. System load hovers around 2-4, the system is still responsive during even my heaviest benchmarks, and I can still manually view http://mysite.com/tracking/pixel with little visible delay while my (other) server performs 600 requests per second. If I run a short test, say 50,000 hits (takes about 2m), I get a steady, reliable 600 requests per second. If I run a longer test (tried up to 3.5m so far), my r/s degrades to about 250. My questions -- a. Does it look like I'm maxing out this server yet? Is 1,200/s static files nginx performance comparable to what others have experienced? b. Are there common nginx tunings for such high-volume applications? I have worker threads set to 64, and gunicorn worker threads set to 8, but tweaking these values doesn't seem to help or harm me much. c. Are there any linux-level settings that could be limiting my incoming connections? d. What could cause my performance to degrade to 250r/s on long-running tests? Again, the memory is not maxing out during these tests, and HDD use is nil. Thanks in advance, all :)

    Read the article

  • A jQuery Plug-in to monitor Html Element CSS Changes

    - by Rick Strahl
    Here's a scenario I've run into on a few occasions: I need to be able to monitor certain CSS properties on an HTML element and know when that CSS element changes. The need for this arose out of wanting to build generic components that could 'attach' themselves to other objects and monitor changes on the ‘parent’ object so the dependent object can adjust itself accordingly. What I wanted to create is a jQuery plug-in that allows me to specify a list of CSS properties to monitor and have a function fire in response to any change to any of those CSS properties. The result are the .watch() and .unwatch() jQuery plug-ins. Here’s a simple example page of this plug-in that demonstrates tracking changes to an element being moved with draggable and closable behavior: http://www.west-wind.com/WestWindWebToolkit/samples/Ajax/jQueryPluginSamples/WatcherPlugin.htm Try it with different browsers – IE and FireFox use the DOM event handlers and Chrome, Safari and Opera use setInterval handlers to manage this behavior. It should work in all of them but all but IE and FireFox will show a bit of lag between the changes in the main element and the shadow. The relevant HTML for this example is this fragment of a main <div> (#notebox) and an element that is to mimic a shadow (#shadow). <div class="containercontent"> <div id="notebox" style="width: 200px; height: 150px;position: absolute; z-index: 20; padding: 20px; background-color: lightsteelblue;"> Go ahead drag me around and close me! </div> <div id="shadow" style="background-color: Gray; z-index: 19;position:absolute;display: none;"> </div> </div> The watcher plug in is then applied to the main <div> and shadow in sync with the following plug-in code: <script type="text/javascript"> $(document).ready(function () { var counter = 0; $("#notebox").watch("top,left,height,width,display,opacity", function (data, i) { var el = $(this); var sh = $("#shadow"); var propChanged = data.props[i]; var valChanged = data.vals[i]; counter++; showStatus("Prop: " + propChanged + " value: " + valChanged + " " + counter); var pos = el.position(); var w = el.outerWidth(); var h = el.outerHeight(); sh.css({ width: w, height: h, left: pos.left + 5, top: pos.top + 5, display: el.css("display"), opacity: el.css("opacity") }); }) .draggable() .closable() .css("left", 10); }); </script> When you run this page as you drag the #notebox element the #shadow element will maintain and stay pinned underneath the #notebox element effectively keeping the shadow attached to the main element. Likewise, if you hide or fadeOut() the #notebox element the shadow will also go away – show the #notebox element and the shadow also re-appears because we are assigning the display property from the parent on the shadow. Note we’re attaching the .watch() plug-in to the #notebox element and have it fire whenever top,left,height,width,opacity or display CSS properties are changed. The passed data element contains a props[] and vals[] array that holds the properties monitored and their current values. An index passed as the second parm tells you which property has changed and what its current value is (propChanged/valChanged in the code above). The rest of the watcher handler code then deals with figuring out the main element’s position and recalculating and setting the shadow’s position using the jQuery .css() function. Note that this is just an example to demonstrate the watch() behavior here – this is not the best way to create a shadow. If you’re interested in a more efficient and cleaner way to handle shadows with a plug-in check out the .shadow() plug-in in ww.jquery.js (code search for fn.shadow) which uses native CSS features when available but falls back to a tracked shadow element on browsers that don’t support it, which is how this watch() plug-in came about in the first place :-) How does it work? The plug-in works by letting the user specify a list of properties to monitor as a comma delimited string and a handler function: el.watch("top,left,height,width,display,opacity", function (data, i) {}, 100, id) You can also specify an interval (if no DOM event monitoring isn’t available in the browser) and an ID that identifies the event handler uniquely. The watch plug-in works by hooking up to DOMAttrModified in FireFox, to onPropertyChanged in Internet Explorer, or by using a timer with setInterval to handle the detection of changes for other browsers. Unfortunately WebKit doesn’t support DOMAttrModified consistently at the moment so Safari and Chrome currently have to use the slower setInterval mechanism. In response to a changed property (or a setInterval timer hit) a JavaScript handler is fired which then runs through all the properties monitored and determines if and which one has changed. The DOM events fire on all property/style changes so the intermediate plug-in handler filters only those hits we’re interested in. If one of our monitored properties has changed the specified event handler function is called along with a data object and an index that identifies the property that’s changed in the data.props/data.vals arrays. The jQuery plugin to implement this functionality looks like this: (function($){ $.fn.watch = function (props, func, interval, id) { /// <summary> /// Allows you to monitor changes in a specific /// CSS property of an element by polling the value. /// when the value changes a function is called. /// The function called is called in the context /// of the selected element (ie. this) /// </summary> /// <param name="prop" type="String">CSS Properties to watch sep. by commas</param> /// <param name="func" type="Function"> /// Function called when the value has changed. /// </param> /// <param name="interval" type="Number"> /// Optional interval for browsers that don't support DOMAttrModified or propertychange events. /// Determines the interval used for setInterval calls. /// </param> /// <param name="id" type="String">A unique ID that identifies this watch instance on this element</param> /// <returns type="jQuery" /> if (!interval) interval = 100; if (!id) id = "_watcher"; return this.each(function () { var _t = this; var el$ = $(this); var fnc = function () { __watcher.call(_t, id) }; var data = { id: id, props: props.split(","), vals: [props.split(",").length], func: func, fnc: fnc, origProps: props, interval: interval, intervalId: null }; // store initial props and values $.each(data.props, function (i) { data.vals[i] = el$.css(data.props[i]); }); el$.data(id, data); hookChange(el$, id, data); }); function hookChange(el$, id, data) { el$.each(function () { var el = $(this); if (typeof (el.get(0).onpropertychange) == "object") el.bind("propertychange." + id, data.fnc); else if ($.browser.mozilla) el.bind("DOMAttrModified." + id, data.fnc); else data.intervalId = setInterval(data.fnc, interval); }); } function __watcher(id) { var el$ = $(this); var w = el$.data(id); if (!w) return; var _t = this; if (!w.func) return; // must unbind or else unwanted recursion may occur el$.unwatch(id); var changed = false; var i = 0; for (i; i < w.props.length; i++) { var newVal = el$.css(w.props[i]); if (w.vals[i] != newVal) { w.vals[i] = newVal; changed = true; break; } } if (changed) w.func.call(_t, w, i); // rebind event hookChange(el$, id, w); } } $.fn.unwatch = function (id) { this.each(function () { var el = $(this); var data = el.data(id); try { if (typeof (this.onpropertychange) == "object") el.unbind("propertychange." + id, data.fnc); else if ($.browser.mozilla) el.unbind("DOMAttrModified." + id, data.fnc); else clearInterval(data.intervalId); } // ignore if element was already unbound catch (e) { } }); return this; } })(jQuery); Note that there’s a corresponding .unwatch() plug-in that can be used to stop monitoring properties. The ID parameter is optional both on watch() and unwatch() – a standard name is used if you don’t specify one, but it’s a good idea to use unique names for each element watched to avoid overlap in event ids especially if you’re monitoring many elements. The syntax is: $.fn.watch = function(props, func, interval, id) props A comma delimited list of CSS style properties that are to be watched for changes. If any of the specified properties changes the function specified in the second parameter is fired. func The function fired in response to a changed styles. Receives this as the element changed and an object parameter that represents the watched properties and their respective values. The first parameter is passed in this structure: { id: watcherId, props: [], vals: [], func: thisFunc, fnc: internalHandler, origProps: strPropertyListOnWatcher }; A second parameter is the index of the changed property so data.props[i] or data.vals[i] gets the property and changed value. interval The interval for setInterval() for those browsers that don't support property watching in the DOM. In milliseconds. id An optional id that identifies this watcher. Required only if multiple watchers might be hooked up to the same element. The default is _watcher if not specified. It’s been a Journey I started building this plug-in about two years ago and had to make many modifications to it in response to changes in jQuery and also in browser behaviors. I think the latest round of changes made should make this plug-in fairly future proof going forward (although I hope there will be better cross-browser change event notifications in the future). One of the big problems I ran into had to do with recursive change notifications – it looks like starting with jQuery 1.44 and later, jQuery internally modifies element properties on some calls to some .css()  property retrievals and things like outerHeight/Width(). In IE this would cause nasty lock up issues at times. In response to this I changed the code to unbind the events when the handler function is called and then rebind when it exits. This also makes user code less prone to stack overflow recursion as you can actually change properties on the base element. It also means though that if you change one of the monitors properties in the handler the watch() handler won’t fire in response – you need to resort to a setTimeout() call instead to force the code to run outside of the handler: $("#notebox") el.watch("top,left,height,width,display,opacity", function (data, i) { var el = $(this); … // this makes el changes work setTimeout(function () { el.css("top", 10) },10); }) Since I’ve built this component I’ve had a lot of good uses for it. The .shadow() fallback functionality is one of them. Resources The watch() plug-in is part of ww.jquery.js and the West Wind West Wind Web Toolkit. You’re free to use this code here or the code from the toolkit. West Wind Web Toolkit Latest version of ww.jquery.js (search for fn.watch) watch plug-in documentation © Rick Strahl, West Wind Technologies, 2005-2011Posted in ASP.NET  JavaScript  jQuery  

    Read the article

< Previous Page | 49 50 51 52 53 54 55 56 57 58 59 60  | Next Page >